WEB移动端开发使用什么框架比较好?

WEB移动端开发使用什么框架比较好?,第1张

很久以前整理了篇将手机网站做成手机应用的JS框架。时隔一年多,很多新的技术已经出现,下面再来总结下还有哪些框架是适合面向手机设备的开发的。

1、jQuery Mobile

jQuery Mobile 是 jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。

2、jQTouch

jQTouch 是一个 jQuery 的插件,主要用于手机上的 Webkit 浏览器上实现一些包括动画、列表导航、默认应用样式等各种常见UI效果的 JavaScript 库。支持包括 iPhone、Android 等手机。

3、DHTMLX Touch

DHTMLX Touch是一个免费的HTML5/JavaScript框架,专门为触摸屏设备而优化。为您带来快速开发工艺精美的移动Web应用程序的能力。DHTMLX Touch UI Designer是一个可视化的编辑器用于构建移动用户界面。它能够帮您以最少的编码构建一流的用户界面。在其主页上提供一些示例可以展示DHTMLX Touch强大的用户界面。包括一个menu app for the iPad (适用于开发餐厅应用) 和Book Shop (一个电子书店应用)。

4、Mobilize.js

Mobilize.js是一个开源的HTML5-JavaScript框架用于从任何现在有标准网站快速,简便地构建宴改埋移动网站。这个框架其实就是将需要在移动设备上显示的部分页面以jQuery Mobile的默认主题显示,而不是实现一个全新完整的移动页面。Mobilize.js 可用于任意网站,但对于基于WordPress和Sphinx的网站晌蚂不需要使用该框架转换,因为已经有非常多的插件可以使用。

5、The M Project

The-M-Project是另外一个强大的JavaScript框架,它利用HTML5新的特性来更好和更简便地开发移动应用。这个框架遵循著名的MVC软件架构模式。它还支持离线,所以你的用户可以在没有连接网络的情况下继续 *** 作(当下次有连线的时候,再将数据同步到服务器中)。提供优秀的文档(这个项目拥有一个引导新用户入门的开发指南)。可以查看提供的示例来对该项目有一个初目的了解。这些示例包括:ToDo App(待办事项目应用) 和 KitchenSink (这个示例包括这个框架提供的所有UI元素)。

6、WebApp.Net

WebApp.Net 提供了很多的 API,因此可以帮助你节省很多工作了。不需要花时间去进行 Ajax 调用的编码,因为已经内置了,另外还有很多其它内置功能,提供了详细的文档和应用演示。

7、Wijmo

Wijmo是一个基于jQuery UI的UI部件的套件。Wijmo部件进行了优化客户端Web开发和利用jQuery的优越的性能和易用性的力量。所有的Wijmo部件都配备了20多个主题和支持ThemeRoller。

8、960 Grid on jQuery-Mobile

jquery-mobile-960 是一个用于移动 Web 开发的网格框架,综合了 960.gs 的灵活性和 jQuery Mobile 的方便性。它的目的是让 jQuery Mobile 布局更加的灵活,使得应用应许在移动终端更加易用。

9、Sencha Touch Framework

Sencha Touch 是世界上第一个基于 HTML5 的移动 Web 开发框架,支持最新的 HTML5 和 CSS3 标准,全面兼容 Android 和 Apple iOS 设备,提供了丰富的 WEB UI 组件,可以快速的开发出运行于移动终端的应用程序。Shencha是第一个使用HTML5,CSS和JavaScript并且支持音频/视频,本地存储,圆角,渐变背景以及阴影的开发框架。

10、NimbleKit

 歼橡 NimbleKit 是为 iOS 设备构建应用程序最快速的方式,你不需要知道 Objective-C 或者 iOS SDK,你只需结合 JavaScript 代码编写 HTML 页面就可以了。

11、Touchy™ Boilerplate

Touchy Boilerplate 是一个用来创建移动web app,包括HTML模板,Meta tag等的工具。Touchy可以支持动态页面导航,固定页头,滚动内容,浏览历史记录等功能。Touchy使用jQuery或者 Zepto.JS。

12、PhoneGap

PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台。它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能——包括地理定位,加速,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。PhoneGap是免费的,但是它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5配套开发。使用PhoneGap只比为每个平台分别建立应用程序好一点点,因为虽然基本代码是一样的,但是你仍然需要为每个平台分别编译应用程序。

13、joshfire

Joshfire是一个开源的跨设备开发框架,帮助开发者创建可以在多种设备上运行的web app。它使用HTML5和JavaScript,并且允许开发者快速整合本地应用和特定的web应用。Joshfire可以让你的应用接受键盘,鼠标,触摸屏,遥控器等设备的输入。Joshfire支持Node.JS。4.Sencha Touch:基于HTML5的移动网页开发框架。

14、 Julia

Julia框架由基本CSS3文件、JS库和各个平台的运行库构成。不像PhoneGap,Julia不仅仅包含调用本机代码的接口层,它还包含 Model-View-Controller(MVC)支持,Delegation支持,OAuth支持,异步数据库存取接口,HTML选择符(类jQuery调用接口),HTML模版(允 许嵌入JS代码)等应用开发必备的API接口。 基于Julia的应用开发就像网站开发那么简单,是的,你终于可以用HTML5开发一个完整的、跨平台 的、不亚于本机代码的、易于维护的移动应用了!大幕即将揭晓,让我们一起进入移动开发的新时代

15、SproutCore HTML5 Application Framework

SproutCore 是一个 HTML5 移动 Web 开发框架,它的目标是在无需浏览器插件的情况下,在浏览器中位应用程序提供极佳的桌面效果。

16、Titanium

这是一个强大的,健壮的移动Web开发框架。能够让使用现有的HTML, CSS和JavaScript知识来为 iOS和Android平台开发原生移动应用。作为一个越来越大的移动Web框架,它拥有超过300个的APIs和活跃的开发者社区。你从这个社区中得到每一个开发人员的帮助。Titanium Mobile支持原生的iOS和Android UI元素如Table views, tabs, switches和popovers。它提供能够与移动设备的摄像头和本地文件存储系统相交互的特性。

17、Lungo.js

Lungo.js 是一个采用HTML5, CSS3 和JavaScript技术实现的移动Web应用程序开发框架。利用这框架开发的应用程序可运行所有流行的平台包括:iOS, Android, Blackberry 和 WebOs。它还支持触摸事件如:tap, double-tap和swipe。整个框架没有用到任何图片包括图标,所有都矢量化。可以在这个框架中使用HTML5拥有的一些特性如:WebSQL, 地理位置定位,历史或设备方向等。Lungo.js是一个模块化并且完全可定制的框架。

18、xui.js

有时候你可能需要一个超轻量级的框架,只要拥有用于开发标准客户端所需要的功能如:DOM *** 作,事件处理,Ajax和一些动画效果。如果是这样的话,这个框架刚好非常适合你。整个框架采用GZIP压缩完之后只有4.2 KB。

19、EmbedJS

EmbedJS是一个用于嵌入式设备的JavaScript框架如:移动电话,TVs、tablets和so forth。EmbedJS强大之处在于,它拥有专门为特定平台和浏览器如iOS, Firefox, Android等提供相应的开发版本。这样就能够以最少的代码,为用户提供最佳的体验。而且假如你喜欢自己定制,可以利用其提供的EmbedJS Build tool工具实现。EmbedJS基于Dojo实现,所以你如果熟悉Dojo API语法,那EmbedJS将是你最佳的选择。

20、zepto.js

zepto.js是一个专为mobile WebKit浏览器(如:Safari和Chrome)而开发的一个JavaScript框架。它标榜自己在其简约的开发理念,能够帮助开发人员简单、快速地完成开发交付任务。更重要的是这个JS框架,是超轻量级的,只有5KB。zepto.js的语法借鉴并且兼容jQuery。

21、Baker

Baker是用来在iPad或者iPhone平台上发布交互式的电子书或者电子杂志的HTML5电子书框架。

22、ChocolateChip-UI

ChocolateChip-UI 是一个手机移动 Web 开发框架,采用 HTML5, WAML, CSS 和 JavaScript等技术实现。基于 ChocolateChip JavaScript 框架,包含最新的 ChUI.JS 和 ChUI.css.

23、Magazine Grid

Magazine Grid 是一个超现代的 CSS 框架,用于 iPad 和 iPhone 手机,使用类似杂志的设计风格。Magazine Grid 可让用户使用 HTML5 元素来组织杂志页,非常轻量级(<4k),在移动设备上加载非常快,对老的浏览器也支持。

24、Kendo UI

Kendo UI是一个强大的框架用于快速HTML5 UI开发。基于最新的HTML5、CSS3和JavaScript标准。 Kendo UI包含了开发现代JavaScript开发所需要的所有一切,包括:强大的数据源,通用的拖拉(Drag-and-Drop)功能,模板,和UI控件。

25、HTML App Host Framework

这是一个用于构建基于 Windows Phone 7 的 HTML/JavaScript 托管框架,使用 HTML5 技术。该框架由支持在标准 xap 格式中嵌入 html 应用的控件。

您的要求可能看起来很低,但实现起来并不容易。 首先,Windows 本身甚至没有 C++ 运行时库,或者 msvcrt 不是 Windows 的一部分。 每个版本的windows可能都自带了msvcrt的一部分,但是xp vista win8 win10 win11自带了不同版本的msvcrt,也就是说,一旦依赖了msvcrt库,就不能保证在所有版本的windows上都能正常工作。换句话说,为了实现您的目标,您至少必须有一种静态链接基本 C/C++ 库的方法。 

为了解决这个问题,通常需要检查数据并更改参数。 比如这篇文章就是完整的数据。 甚至,说不定有人把这样的方法直接做成了工具。 但是你问“没有额外的第三方工具,没有代码和步骤”,那么好吧,这条路又被你挡住了。 至于高级语言,其实很多高级语言都是用C/C++开发或者执行的,所以Windows下的实际执行也依赖于msvcrt。 需要排除类似的语言方案。 因为,要想完全实现主体的思想,就必须摆脱msvcrt的依赖。 但是如果你想摆脱 msvcrt 依赖,要么需要一定的代码和步骤,要么需要第三方工具。 你不能同时使用两者,所以你不能这样做。 

然后,你说程序大小要足够小,不允许有库依赖,所以简单的结论是:你根本不能做稍微复杂一点的程序,连浏览器框架都做不了,毕竟一个 WebView 是静态链接进去的,体积不会太小。 所有第三方代码都必须开源编译并静态链接进去。如果一个程序很小,不可能完成一个足够复杂的任务。 除非你调用了动态链接库,但是你需要所有的静态链接,那么像你这样的程序根本做不了什么,何必麻烦大家给你找方法。 或者您只是来推广您开发的软件? 我相信如果把它们都集成到某个软件中,你说的事情确实可以做到,但是,你不认为你把所有依赖库的这种纯静态链接功能集成到你要推广的软件中吗, 不是第三方工具? 如果你能这么偷偷改变概念,确实可以实现。

桌面应用程序 Exe 带有 WinForm 界面。第一个推荐是C#毕竟,它是微软自己的。 编写Winform在开发效率和性能上都比其他开发语言快,相关资源和文章也很多。  C#非常适合开发Winform,功能非常强大。 好的结果。 缺点是需要.netframework支持Windows 10、Win11自带.NET Framework。 如果不考虑跨平台,C#开发是最方便高效的。如果想让界面效果更炫,那就用WPF让Winform在界面美化上更上一层楼。 但它会慢一点。

如果对性能要求高或者 *** 作系统底层使用C++或者直接C C++或者MFC,性能很好,但是开发难度比c#高。 如果直接用C,就比较难了。 优点是运行速度快,兼容性好。 除了汇编 C 和 C++ 应该是最快的。岩判QT Qt是一个基于C++的跨平台图形用户界面应用框架。 与MFC相比,它是一种时尚的图形界面设计和开发工具,相对于MFC有很多优点。 丰富的API功能提高了用户的实际开发效率。 支持OpenGL2D、3D图形渲染。 支持QML脚本开发。 使用 QML 的缺点,开发效率被利用了:在运行环境中,Qt 需要将整个东西打包。 体积相当大。  C# 要小得多,因为许多依赖库都带有 windows。

Java Java可以做任何事情。 如果熟悉Java,可以使用Java进行开发,但运行时需要安装运行环境。  Java的生态资源非常丰富,教程也很多。如果你习惯Python,可以使用PyQt PyQt。 开发python也很容易。 可以使用qt for python+qwebview+pyinstaller打包单个exe,启动慢。 或者制作一个安余兄装包,使用 fbs 或 pynsist 缺点:生成后包会稍大,第一次执行速度会有点感人。

热爱 Rust 并使用 Rust 语言Windows T 也可以用 Rust 语言开发。Electron 跨平台,界面美观Electron 是一个跨平台的桌面应用开发框架,让我们可以使用 html css js 的技术来开发可以安装在跨平台桌面的软件。  Electron 允许前端开发人员做更多的工作。 网上流行竖枣袭一句话:“别跟我说C++、Java,我靠JS走遍天下,需要的时候才去做。很容易上手能够使用react、vue等前端框架,可以轻松迁移前端组件,构建漂亮的桌面应用。

专门开发接口的早期开发语言还有其他早期开发语言。 如果要写native native exe,也可以使用以下语言的Delphi:Delphi 7,非常不错。 现在 Free Pascal 对于跨平台开发来说还不错。  VB6:从未消亡的开发语言,也有大量开发小工具的爱好者。 还是一个非常快的VFP:Visual Foxpro,但不是微软自己的,现在没有开发PB:PowerBuilder C++ builder 6.0:Borland的C++程序开发集成平台MASM:Macro assembler。 更加困难。 接近机器语言。优点是运行速度快,比c#快,生成的exe小,不易被破解。

其他开发语言Flex(flash script + java),easy language(中文编码),单独的EXE桌面软件也可以试试aardio,还不错。如果只针对Windows平台,建议使用c#或VB6。 如果想要更好的界面,可以使用浏览器调用html js 界面库或者WPF。 如果考虑跨平台。  ,上面有很多选项。 主要是根据你的实际需求,再考虑性能、部署等方面。

一 概貌Wicket是基于web应用框架的高级组件 其主要特点     * 在HTML和java之间的明确分隔    * OO组件模式    * 自动状态管理    * 高度生产化    * 低学习投入    * 屏蔽Servlet API HTTP协议细节    * 无需XML配置文件    * 易于构造可重用组件 Struts是以Model MVC 为蓝本构建的web应用框架 其工作围绕着处理HTTP请求的action类来完成 配置方式采用XML文件 下文将对Wicket和Struts在体系 HTTP请求处理 Servlet API和HTTP协议抽取 状态管理 配置这六方面进行比较 二 比较第一方面 体系Struts体系基于解释和隐戚每个HTTP请求并将其定向到某个处理该类型请求的指定Action类 每个Action类将处理后的结果返回 并决定下一步走向——通过转发或者重定向到另一个Action或者将控制权交给输出HTML的JSP页面 从技术较大来讲 虽然每个部分之间做到了很好的解耦 但是基于HTTP请求的处理模式可谓与时代不符(与wicket相比就是过时了) 两大原因如下     * Struts并不是真正意义上的纯粹面向对象 每个Action类定义了一个abstraction(抽取) 但是abstraction是由HTTP协议的请求机制决定的 而并非面向对象的分析     * 除非我们在java代码中直接输出HTML(当然除非我们疯了) 那么为了输出HTML我们就要学习另外的主流技术 比如JSP和自定义tag 使用在JSP中使用tag并非易事 尤其是当我们把这项工作交给美工小组时 这会直接导致两个结果 JSP代码被他人作的一沓糊涂 或者是我们自己完成这项任务 而Wicket的处理方式则不同 从整体来讲应该说是更加优雅些 它采用面向对象的组件技术实现web与用户的交互(这点有些如Swing) 在Wicket中的每一页是由若干的使用组合设计模板生成的组件构成 页面和组件各自渲染自己 并直接或者间接的与markup文件(标识文件 形式就像JSP)关联 当HTTP请求到来时 这些请求被转换 传递到组件上的相应事件中来 这一点与微软的VS很相象 所以Wicket能够解决struts体系中存在的问题     * Wicket是完全面向对象的 我们可以利用组件的继承性设计自己的应用 这里不需要为处理HTTP协议的请求/响应而作任何工作     * Wicket所使用的markup文件与纯粹的HTML很接近 所以容易上手使用 Wicket在markup文件中所引入的内容非常整洁 并符合XHTML标准 任何了解HTML的开发者都可以如编辑HTML文件那样编辑Wicket的markup文件 就好似他并不知道这是Wicket的markup文件一样 三 HTTP请求处理唤陵在Struts中 一个HTTP请求被接收后 Struts将在配置文件中查找request path和相应的Action类 如果这些已经被配置好了 它将将提取请求参数放入到ActionForm bean中 并执行一些验证 然后HTTP请求 回应和ActionForm对象都将作为参数传入到Action类中 从这点可以看出Action的开发者掌握著应用的方方面面 他们必须处理HTTP session 维护HTTP请求和session的属性 并在action执行完时建立需要返回的信息 最后还要返回相应的ActionForward以使struts知道下一步在哪里 假如此时ActionForward将控制权交给了JSP页面 开发者就要使用struts自定义的tag库编写JSP代码 如此繁复的工作环节很容易出现错误 而且struts还需要三个位置保持一致 struts XML配置文件 java Action类 JSP自定义tag 而在Wicket中 一个HTTP请求被接收后 Wicket将确认HTTP所请求的那个页面和在这个页面关联的组件 如果请求的目的是form Wicket将自动提取请求参数 验证参数 进行一些预先规定好的携厅类型转换 设置form组件中的model(模式 这里用法与MVC中类似 但有不同)值 接着转化请求为相应类型的事件 调用目标组件上的相应事件侦听器 这样就会导致事件处理代码运行来执行业务逻辑 然后 事件处理器还将指定下一步页面的位置 被指定的页面将初始化(如果页面从未被初始化的话)并自动渲染 渲染处理将按照顺序访问每个页面组件 要求它们进行自我渲染 在markup文件中能够组件仅通过名字与HTML元素进行映射 Wicket出色的原因     * 每个组件知道如何处理自己事件 因此我们只需要将组件放到页面上 编写事件处理器就行了 如果一个页面中存在 个能引发事件的不同的组件 我们除了进行将它们添加到页面上的工作外没有别的工作 但如果在struts中 我们可能需要建立 个不同的Action类或者一个具有 个分支语句的Action类 并要在XML配置中逐一添加     * Wicket带给了我们考虑组件/事件重用的机会 而不用将注意力放到如何处理HTTP请求和回应上     * 与struts相比使用Wicket会降低我们的代码量 这正是重用组件带来的益处 Wicket本身不使用任何的XML配置文件 只需要修改web容器的web xml文件中的servlet声明部分 假如我们曾经编写过Windows API 并用过Visual Basic或者Borland Delphi的话 下面的比较会更加让人印象深刻 使用struts开发就像使用Windows API一样 接收原始消息 解码原始消息 然后再处理这些消息 由于Windows API是基于消息循环工作的 所以系统除了消息回应外不期望任何的返回值 从另一方面看 Dephi在TApplication类中隐藏了Windows消息循环 使开发人员围绕着TApplication类建立其他的类 原始的系统消息就这样被Dephi内建类接收 被内建类解析并被确定其接纳者 消息被转换为一个事件 并被传送到某个特定的对象 如Windows应用程序一样 Wicket应用也具有服务于文本和HTML模板的资源文件 从这点看 Wicket象用Delphi做桌面开发一样被用来做web开发 四 Servlet API和HTTP协议的抽取Struts没有隐藏Servlet API和HTTP协议的细节 为了使用Struts 我们必须乐于和HTTPServletRequest HttpServletResponse 和HttpSession类打交道 并围绕着请求和回应建立应用 这便是所有Model MVC wen框架与生俱来的弱点 正如上面说的 Wicket隐藏了Servlet API和HTTP协议的细节 对于一些应用 我们甚至触及不到这些细节 甚至对于非常复杂的应用 我们也仅使用适当的Wicket协议抽取类 而经常用到的是java组件类 POJO业务模型 纯HTML标记文件 五 状态管理使用Struts开发 我们将获得全部的状态管理权 这对于建立大规模的 高升级空间的 集群应用来讲是很好的 因为我们将获得对HttpSession上每件事物的控制权 但是对于中小型应用 我们将没有缘由编写一些额外的代码 这样将导致应用变得复杂和编写费时 在状态管理上 Wicket可以作为一个不错的选择 Wicket框架默认代管所有的组件状态 这对于中小型应用 在状态管理上的代码量几乎为 但是Wicket也提供了一些API使我们进行标准状态管理和实现自己的状态管理 这样 即使是大型应用 我们也能够全权掌握状态管理 事实上 即使在使用Wicket编写大型应用时 通常也是先让Wicket代管所有的状态 然后再慢慢的实现自己定义的状态管理以提高应用性能 六 配置不言自明 Struts需要一个XML文件 定义对HTTP请求和响应的映射和所有的ActionForm对象等 这个文件可能非常大而且复杂 而新版本的Struts提供了将这个文件分解为多个模块的方法 虽然这样可以将模块分类 但是这样同样要维护许多的小文件 Wicket不需要配置文件 Wicket通过一个简单的应用配置类或者通过编写web容器的web xml文件中Servlet init参数来完成程序的初始化 而HTTP请求到组件事件的映射 组件如何输出HTML等被包含在了Wicket的应用逻辑里 从而极大地简化了配置 七 Wicket 的RoadMap    * JavaScript support    * CSS support    * Markup inheritence    * Experimental AJAX support    * Improved URL handling    * Include of external markup    * Simplified Choice ponent    * Improved Feedback support    * Thread safe validation (bug fix)    * Immediate button support for Forms    * Panel support for TreeView    * Date picker ponent    * Component reference examples    * AJAX support    * Portlet support (JSR )    * Clean and pretty URL s    * JAAS/Acegi/other security integration八 参考资料/Newuserguide lishixinzhi/Article/program/Java/ky/201311/28524


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12408972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存