生成用于应用的移动网络浏览器视图的制作方法

文档序号:11935168阅读:134来源:国知局
生成用于应用的移动网络浏览器视图的制作方法与工艺

本申请要求2014年10月10日提交的具有序列号14/512,358的美国专利申请的优先权。

技术领域

本公开一般涉及用于对于基于非移动网络浏览器的应用自动生成移动网络浏览器视图的方法、系统和计算机可读介质。



背景技术:

云计算的增长已增加了对于生产传统桌面应用的软件企业经由网络或移动平台传递它们的产品的压力。使用传统框架,开发者将不得不重写他们的许多现有桌面软件代码,以在网络或移动平台上运行。另外,开发者一般需要重组他们的资源以支持网络开发。

在一些情况下,这样的重写和重组可需要再训练和/或雇佣新人员,因为对于桌面应用书写的大多数代码使用与对于网络或移动平台采用的那些代码不同的编程语言/环境。

因此,软件开发技术可受益于基于来自桌面应用的源代码生成网络或移动视图的改进技术。



技术实现要素:

本公开一般涉及用于向软件开发技术提供这些和其他改进的方法、系统和计算机可读介质。

本教义的实现涉及用于生成一个或多个应用的移动网络浏览器视图的系统、方法和计算机可读介质。在一些实施例中,计算装置能获得用于该应用的源代码,其中该源代码各个属性。计算装置能确定与所述一个或多个属性关联的注释,其中所述注释描述用于所述一个或多个属性的显示属性。此外,该计算装置能确定诸如移动装置的客户机装置的一个或多个显示设置。基于所述注释和/或显示设置,该计算装置能生成具有所述显示属性的移动视图。

在进一步的实施例中,该计算装置能经由该移动网络浏览器视图从用户接收输入,基于所述输入和所述源代码来执行后端逻辑,其中该后端逻辑导致视图中的改变,和基于视图中的改变来更新移动网络浏览器视图。

附图说明

在该说明书中合并并且构成该说明书的一部分的附图图示了本公开的各个实施例,并且和描述一起用来解释本公开的原理。在图中:

图1是图示了与某些公开的实施例一致的从桌面应用生成移动网络浏览器视图的方法的流程图;

图2是图示了与某些公开的实施例一致的包括用于生成移动网络浏览器视图的注释的应用的伪代码的图;

图3是图示了与某些公开的实施例一致的移动网络浏览器视图的图;

图4是与某些公开的实施例一致的移动观看系统的示意图;以及

图5是图示了与某些公开的实施例一致的用于生成移动网络浏览器视图的示范硬件系统的图。

具体实施方式

以下详细描述参考附图。只要可能,在这些图中使用相同的附图标记,并且以下描述指代相同或相似部分。尽管这里描述了本公开的几个示范实施例和特征,但是修改、适配和其他实现是可能的,而不脱离本公开的精神和范围。因此,以下详细描述不限制本公开。取而代之,该公开的适当范围由所附权利要求限定。

图1是图示了与某些公开的实施例一致的从桌面应用生成移动网络浏览器视图的方法的流程图。当计算装置获得用于应用的源代码时,该处理能在100开始。源代码能够是按照特定语言书写和/或使用软件框架所提供的功能性书写的源代码。应用在实施例中可以是意欲在通用目的计算机上运行的桌面应用。如这里使用的,“桌面应用”包括排除移动网络浏览器应用/文档的任何类型软件应用。

在一些实施例中,能使用微软公司提供的.NET框架和/或ASP.NET框架的功能性,来书写该源代码。在其他实施例中,能利用不同软件框架。

在110中,计算装置能确定可被采用以运行应用的框架库文件。在一些实施例中,计算装置能基于源代码确定框架库文件。例如,计算装置能确定该源代码所输入的任何框架库文件和/或计算装置能至少部分基于该源代码中包括的注释来确定一个或多个框架库文件。

在120中,计算装置能确定应用中的模型类和视图模型类。模型类能代表商业逻辑或后端逻辑。如这里使用的,后端逻辑能指代在实施例中能在与显示移动网络浏览器视图的计算装置不同的计算装置(例如,网络服务器)上执行的、计算装置所执行的后端处理。视图模型类能代表呈现逻辑。在一些实施例中,计算装置能基于源代码确定模型和视图模型类。例如,计算装置能基于源代码中包括的注释,来确定模型和视图模型类。

视图模型类能被特别包括在基本视图导出类中,以指示该视图模型类将在网络视图中显示。在一些实施例中,视图模型类能从基本视图模型类继承。另外,源代码中包括的注释能指定视图模型类属性将如何在视图上出现,以及数据绑定行为将如何执行。数据绑定能定义来自使用移动网络浏览器视图的用户的输入将如何影响商业逻辑,并且能基于用户的输入导致移动网络浏览器视图中的改变。

在130中,计算装置能确定源代码属性。例如,属性能够是视图模型类中使用的变量(例如,串、整数、布尔值等)。

在140中,计算装置能确定源代码中的注释。如这里使用的,注释是作为框架语法的一部分的、源代码内的人可读文本,但是不存在于原始桌面应用源代码中。在源代码中添加所述注释作为重组源代码的处理的一部分,以支持移动网络浏览器视图。在一些实施例中,注释自己的下层技术能由源代码的编程语言支持,并由其编译器处理。

所述注释能指定如何显示一个或多个属性,如何接收来自用户的输入,以及关于将如何基于用户输入来更新显示的附加逻辑。另外,所述注释能包括从框架基础类继承的类,以指定统一资源定位符(URL)地址,用于由客户机移动浏览器来得到和显示视图模型的视图。

在一些实施例中,基于与源代码中属性的调用的接近度、相对于源代码中属性的调用的位置(例如,紧靠之前或紧靠之后)和/或通过参考属性,注释能与属性关联。此外,在至少一个实施例中,注释可与和客户机装置的显示尺寸相关的属性关联,诸如当客户机装置是移动装置时。

在145中,计算装置能确定可以是移动装置的客户机装置的显示设置。所述显示设置可包括屏幕尺寸、分辨率、操作系统、网络浏览器等。

在150中,计算装置能使用源代码、注释和显示设置,来生成用于该应用的移动网络浏览器视图。在一些实施例中,计算装置能生成超文本标记语言(HTML)文档和/或HTML代码,以显示该应用的移动网络浏览器视图。能基于确定的源代码属性、模型和注释,来创建显示元素。此外,例如,计算装置能基于客户机装置的显示设置,来修改(tailor)显示。在特定示例中,客户机装置能够是移动装置。基于源代码属性、模型、注释和/或显示设置,计算装置可修改视图用于在移动装置上显示。

在一些实施例中,客户机装置上的用户能打开浏览器,并在客户机浏览器中键入URL地址。生成的HTML文档能被传输或按照别的方式传送到客户机装置,并且客户机装置能经由移动网络浏览器来显示HTML文档。计算装置能从用户接收经由HTML文档的输入,并且能基于来自用户的输入、源代码的操作和/或注释,来执行任何商业逻辑或后端逻辑和/或更新视图。

例如,属性能被绑定到后端处理,并且当用户提供移动网络浏览器中的与属性关联的输入时,计算装置能执行后端处理,并因此更新HTML文档和/或移动网络浏览器视图。

尽管图1中描绘的步骤已被描述为按照特定顺序执行,但是所描述的顺序仅为示例,并且能与某些公开的实施例一致地执行步骤的各个不同序列。另外,为了解释的目的,这些步骤仅被描述为分离的步骤,并且在一些实施例中,多个步骤可被同时执行和/或作为单一计算的一部分。例如,110-140能按照任何顺序执行或作为单一步骤(即,编译源代码)。此外,描述的步骤不意欲是穷尽的或绝对的,并且能插入或去除各个步骤。

图2是图示了与某些公开的实施例一致的包括用于生成移动网络浏览器视图的注释的桌面应用的示范伪代码的图。伪代码200能表示计算装置在图1所示的100中获得的代码的简化示例。

线202能包括注释“基本视图模型(BaseViewModel)”。该注释能指示将使用名为基本视图模型的视图模型来显示类用户视图模型(UserViewModel)。例如,能通过诸如模型视图视图模型(MVVM)框架的框架,来提供视图模型基本视图模型。在其他实施例中,用户视图模型能被特别包括在基本视图导出类中,这能指示用户视图模型将在移动网络视图中显示。

线204能是与串名称关联的注释。该注释能指示串名称能与视图模型中的文本框关联。因此,例如,生成的HTML能包括文本框,并且该文本框能利用来自串名称的文本填充(populated)和/或串名称能基于来自用户的文本框中的输入来更新。

线206能够是与布尔值ProvideMailingAddress(提供邮件地址)关联的注释。该注释能指示布尔值ProvideMailingAddress能与视图模型中的复选框关联。因此,生成的HTML能包括复选框,并且该复选框能基于布尔值ProvideMailingAddress(例如,如果值为1则选中,如果值为0,则不选中)填充和/或布尔值ProvideMailingAddress能基于与复选框对应的来自用户的输入来更新。

线208能够是与串MailingAddress(邮件地址)关联的注释。另外,该注释能绑定到布尔值ProvideMailingAddress。该注释能指示该串MailingAddress能与视图模型中的文本框关联。因此,生成的HTML能包括文本框,并且该文本框能基于串MailingAddress来填充和/或串MailingAddress能基于与文本框对应的来自用户的输入来更新。

在一些实施例中,注释“IsEnabled=“ProvideMailingAddress””的片段能指示,如果布尔值ProvideMailingAddress被“使能”(例如,等于1),则可以仅显示该文本框。因此,该注释绑定到布尔值ProvideMailingAddress。在一些实施例中,如果布尔值ProvideMailingAddress被使能,则包括用于串MailingAddress的文本框的HTML可仅被生成和/或提供到用户的移动网络浏览器。

代码片段210能代表从框架基础类继承的类MyForm。在一些实施例中,这样的类能用来指定URL地址,用于由移动网络浏览器得到并显示视图模型的视图。例如,该代码片段允许移动客户机浏览器得到并显示用户视图模型视图模型的视图。

图2中描绘的伪代码代表能利用的源代码的简化版本,如这里描述的。所描绘的注释的编程语言、操作、属性、和格式仅是为了说明的目的,并不意欲限制。

为了说明的目的,下面提供可能注释的非限制性列表、注释的属性、和它们的描述。与某些公开的实施例一致地,可利用不同注释、注释的属性、及其格式

注释ViewField(视场)能定义视图模型中的属性的外表和行为。注释ViewField的不同属性包括但不限于以下属性:

Control type(控制类型)–在视图上显示的控制的类型。可能值包括:文本框(TextBox)、密码框(PasswordBox)、复选框(CheckBox)、组合框(ComboBox)(下拉列表)、数据拾取器(DatePicker)、单选按钮(RadioButton)、标签(Label)、列表视图(ListView)、树视图(TreeView)、开关按钮(ToggleButton)、工具框(ToolBox)和内容控制(ContentControl)。

CaptionResourceId-用于控制的字幕或提示的串资源标识符。

EndCaptionResourceId-用于遵循控制的任何字幕的串资源标识符。

OptionsCaptionResourceId-用于为了用户作出选择而在组合框上的提示的串资源标识符。

Order(顺序)-视图上的控制的定位顺序。

StyleClass(类型类)-标识层叠样式表(css)类型类以向控制应用的名称。

IconResourceId-用于伴随控制的任何图标的图像资源标识符。

IsEnabled-将基于其值使能/禁止该控制的、类型布尔的另一视图模型属性的名称。

IsVisible-将基于其值示出/隐藏该控制的、布尔的类型的另一视图模型属性的名称。

ItemKey-应用到包括项目集合的视图模型属性。这指定能唯一标识该集合中的项目的项目的属性的名称。

ItemName-应用到包括项目集合的视图模型属性。这规定为了视图上的项目的显示名称将要使用的项目的属性的名称。

ItemsSource-应用到包括分层(树)结构的视图模型属性。这指定包括子项目的集合的树项目的属性的名称。

ItemValue-应用到包括项目集合的视图模型属性。这指定为了存储项目上的值改变将要使用的项目的属性的名称。

PlaceAfter-与控制关联的视图模型属性的名称,其中该控制将被放置在同一线上之后。

SelectedItem-应用到包括可选择项目的集合的视图模型属性。这指定将接收在视图上选择的项目的视图模型属性的名称。

IsItemChecked-应用到包括分层(树)结构的视图模型属性。这指定指示是否使能项目的选中状态的类型布尔的项目属性的名称。

IsItemExpandable-应用到包括分层(树)结构的视图模型属性。这指定指示是否能扩展该项目以示出子项目的类型布尔的项目属性的名称。

IsItemExpanded-应用到包括分层(树)结构的视图模型属性。这指定表明是否使能项目扩展状态的类型布尔的项目属性的名称。

IsItemSelected-应用到包括分层(树)结构的视图模型属性。这指定指示使能项目选择状态的类型布尔的项目属性的名称。

注释ViewLayout(视图布局)能定义用于控制的布局组。注释ViewLayout的不同属性包括但不限于以下属性。

Id-标识布局组。

CaptionResourceId-用于布局组字幕的串资源标识符。

IsVisible-将基于其值示出/隐藏布局组中的控制的类型布尔的另一视图模型属性的名称。

Column(列)-其中布局将在视图上出现的栅格列。

Width(宽度)-布局的栅格列的宽度。

图3是图示了与某些公开的实施例一致的移动网络浏览器视图的图。如这里使用的,移动网络浏览器视图不限于移动网络浏览器上的视图,而能够是任何类型基于移动的视图和/或与客户机/服务器通信关联的视图(例如,HTML视图)。移动网络浏览器视图300能基于用于桌面应用的源代码生成,如上所述。移动网络浏览器视图300能包括含有项目310的第一列。项目310代表正使用的当前视图模型用户视图模型(USERVIEWMODEL)。在一些实施例中,用户可能够使用移动网络浏览器视图来选择视图模型,并且计算装置可基于用户的选择来提供不同移动网络浏览器视图。

移动网络浏览器300能包括含有项目320和项目330的第二列。项目320代表源代码的属性。在一些实施例中,项目320能由用户可选,并且能绑定到源代码的后端逻辑。例如,如果用户要选择项目320,则计算装置可生成包括用于用户名称的文本框的新的移动网络浏览器视图。

在一些实施例,项目330能由用户可选,并且能绑定到源代码的后端逻辑。例如,用户可能已先前选择了项目330,并因此计算装置可能已生成包括项目340、文本框和标签的移动网络浏览器视图。如移动网络浏览器视图300中示出的,项目330与复选框关联。选中复选框指示选择项目330,并因此,当前显示包括文本框和标签的移动网络浏览器视图。

例如,复选框能基于绑定到布尔值ProvideMailingAddress的注释来创建,如图2的线208所示。因为“使能”ProvideMailingAddress,所以用于串MailingAddress的文本框被生成并显示在用户的移动网络浏览器上。

项目340的文本框可与邮件地址属性(例如,串)关联。因此,如果用户在文本框中键入文本,则该文本将与邮件地址属性关联。

图3中描绘的网络浏览器视图代表这里描述的能生成的移动网络浏览器视图的简化版本,并不意欲限制。描绘的视图、结构、属性、和标签仅为了说明的目的,而不意欲限制。

图4是与某些公开的实施例一致的系统400的示意图。系统400可包括网络服务器402、数据库服务器403、和客户机服务器404,其可以是移动装置,诸如智能电话、写字板等。网络服务器402、数据库服务器403和客户机装置404可以彼此通信。例如,客户机装置404可经由网络406(其可以是局域网或广域网,诸如因特网、或其组合)与网络服务器402和/或数据库服务器403通信。

网络服务器402可被配置以执行图1中图示的方法的后端逻辑的至少一些。数据库服务器403可被配置以向网络服务器402提供实体模型,其可被网络服务器402采用以生成注释的视图模型。与从客户机装置404接收的输入组合,如上所述,网络服务器402可例如使用对于客户机装置404确定的显示设置,来生成应用的移动网络视图,其被修改用于在客户机(例如,移动)装置404上显示。

图5是图示了与某些公开的实施例一致的用于生成移动网络浏览器视图的示范硬件系统的图。计算装置500可代表一个或多个计算装置的任一类型。

计算装置500可包括例如变化内核配置和时钟频率的一个或多个微处理器510;变化物理维度和储存容量的一个或多个存储装置或计算机可读介质520,诸如闪存驱动器、硬盘驱动器、随机存取存储器等,用于存储数据,诸如图像、文件、以及用于由一个或多个微处理器510执行的程序指令;等。一个或多个微处理器510、以及一个或多个存储装置或计算机可读介质520可以是图5中公开的单一装置的一部分,或者可以被包括在多个装置内。

计算装置500还可以包括例如网络接口530。网络接口能允许经由例如局域网(LAN)、广域网(WAN)和/或因特网的、计算装置500和一个或多个附加计算装置之间的通信。例如计算装置500可经由网络接口530向客户机装置提供HTML文档,并且可经由网络接口530从客户机装置的用户接收输入。

本领域技术人员将理解的是,上述组件仅是示范性的,因为计算装置500可包括用于执行公开的实施例的任何类型硬件组件,包括任何必要附属固件或软件。

尽管这些教义已参考其示范实施例进行了描述,但是本领域技术人员将能够对描述的实施例进行各种修改,而不脱离真实精神和范围。这里使用的术语和描述仅作为说明阐述,并不意味着限制。特别是,尽管已作为示例描述了该方法,该是该方法的步骤可按照与说明不同的顺序执行或同时执行。此外,在详细描述和权利要求中使用术语“包括”、“包含”、“具有”、“含有”、“有”或其变型的程度上,这样的术语意欲按照与术语“包括”类似的方式是包含性的。如这里使用的,针对例如A和B的项目列表的术语“一个或多个”意味着仅A、仅B、或者A和B。本领域技术人员将认识到,在以下权利要求及其等效中定义的精神和范围内,这些和其它变型是可能的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1