移动APP中间件

薛鹏飞
2023-12-01
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:互联网老黑
链接:http://www.zhihu.com/question/36019568/answer/65643349
来源:知乎

首先我推荐一个:react native,facebook推出的一个跨平台解决方案,去年推出了iOS版,手机淘宝的有一个模块“猜你喜欢”就是用react native实现的,效果还不错,另外今年9月份,facebook推出了android版,大家不妨试一下,这里针对于webapp,做了一个比对:

相对于Webapp的优势:

  1. 不用Webview,彻底摆脱了Webview让人不爽的交互和性能问题;
  2. 有较强的扩展性,这是因为Native端提供的是基本控件,JS可以自由组合使用;
  3. 可以直接使用Native原生的「牛逼」动画(在FB Group这个app里面,面板滑出带一点果冻弹动,面板基于某个点展开这种动画随处可见,这种动画用Native code来做小菜一碟,但是用Web来做就难上加难)。

相对于Native app的优势:

  1. 可以通过服务端远程更新JS,进而直接更新app的页面;

相对于Webapp和Native的劣势:

  1. 扩展性仍然远远不如web,也远远不如直接写Native code;
  2. 从Native到Web,要做很多概念转换,势必造成双方都要妥协。最终web要用一套CSS的阉割版,Native要费劲地把这个阉割版转换成native原生的表达方式(比如iOS的Constraint\origin\Center等属性)。

另外我以前在CocoaChina上收藏过的一个帖子,整理了许多iOS和Android跨平台解决方案,感觉很不错,现在拿出来分享给大家,希望对题主有帮助。

1、jQuery Mobile


jQuery Mobile是jQuery 在手机上和平板设备上的版本。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile文档比较全面,同时有在线工具帮你快速创建自己中意的UI风格。

技术需求:HTML,CSS,jQuery
平台支持: 绝大多数移动浏览器


2、Corona SDK(使用Lua语言):

Corona SDK的优点:


稳定;支持硬件加速、GPS、指南针及照相机等;支持与Map、Facebook、OpenFient、GameCenter的集成;内建的物理集成;Lua语言比较容易学习;
已经有了一些很不错的应用,至少能够证明这个SDK是可以做出优秀应用来的;不错的社区支持。

Corona SDK不太好的地方:

只支持iOS和Android;Lua语言不是面向对象的;每年都要交授权费(99美元/年)。

另外还有其他的一些补充,比如:

对于Corona SDK不支持的第三方SDK没法自己去集成;编译项目的时候需要把代码上传到Corona的服务器上去编译,不能在本地直接编译;无法扩展Corona的功能;物理模块还有一些缺陷。


3、Airplay SDK(后来更名为Marmalade,不少大的公司在使用Airplay SDK,尤其适用于进行2D/3D游戏的开发)

目前使用Marmalade的游戏有《割绳子》、《植物大战僵尸》、《你猜我画》、Build 'n' Bash 3D、Catch the Monkey、Need for Speed Shift以及WorkSnug Pro等多款游戏。

Airplay SDK文档中还包含多个示例。“感觉受到限制”的开发者还可以在Airplay SDK上进行扩展。开发者需要对C++比较熟悉。


4、Appcelerator(Titanium)

Appcelerator允许使用HTML/Javascript来开发原生app,开发者可以免费使用。目前世界上185个国家中有超多46万的开发者在使用Appcelerator提供的解决方案。

Titanium为Appcelerator于2008年底所推出的跨平台应用程序开发解决方案,目前支持iOS/Android/Blackberry/WM7等行动平台,以及Windows/Linux/OS X这三种主流的桌上型平台。


5、PhoneGap

PhoneGap是一能够让你用普通NewsShow的web技术编写出能够轻松调用API接口和进入应用商店的HTML5应用开发平台。是唯一的一个支持7个平台的开源移动框架。PhoneGap的优势主要体现在开发成本低,兼容性好,完全做到了“Written Once,Run Everywhere!”。

它使开发者能够利用iPhone,Android,Palm,Symbian,WP7,Bada和Blackberry智能手机的核心功能。此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。

PhoneGap在多个主要的智能手机设备上提供了以下功能的支持:
加速计、摄像头、罗盘、通讯录、文档、地理定位、媒体、网络、通知(警告、声音和振动)以及存储等。如果正在为iPhone或Android设备做开发,那么这些功能都是支持的。
PhoneGap和Appcelerator的社区支持做的非常不错。 PhoneGap中文论坛: PhoneGap跨平台开发论坛,致力于跨平台开发分享!


6、Rhomobile(基于Ruby的手机软件开发框架)

Rhomobile是一款基于Ruby的手机软件开发框架,用于编写并发布跨越多个移动平台的应用程序,程序只需编写一次就能在各种平台上运行。Rhomobile要求用户只要掌握HTML和Ruby就可以开发iPhone软件。它目前支持为iPhone、BlackBerry、Windows、Symbian和Android平台创建应用。开发者使用HTML/JavaScript/VSS/Ruby等技术开发应用。Rhomobile表示自己遵循苹果的开发者授权。


7、Sencha Touch 2 

Sencha Touch是一个基于HTML5的移动应用开发框架,其前身是Ext。使用Sencha Touch,开发者可以构建在iPhone、Android和BlackBerry touch等设备上运行的移动web应用,其效果看起来如同本地应用。目前Sencha Touch已经成为构建移动HTML5应用的领先框架。

技术需求:HTML,CSS,Javascript,一般web开发知识


8、Tiggzi

用jQuery Mobile作为基础,tiggzi是一个拖放开发工具用来开发移动应用。你可以添加标准的按钮,菜单,视频,地图等等到你的移动应用中,并且能够绑定事件。

技术需求:HTML,CSS,javascript,XML
平台支持:iOS,Android,移动web


9、AppMakr

Appmakr是一个在线工具帮助你创建移动应用,同时能够帮助你将应用添加到app store中。你可以倒入RSS feed来生成一个移动优化的应用。不需要任何的编程,当然你可以添加自定义的HTML。

技术需求:懂HTML,CSS将会更有帮助
平台支持:iOS,Android,windows phone


10、iBuildApp

iBuildApp是一个创建移动应用的工具。拥有非常不错的模板供大家选择,而且你可以在iBuildApp Gallery里得到应用的特性。提供了很多选项添加到你的移动应用中,包括e-commerce和嵌入web页面到你的应用。提供了Soap web服务允许你创建,获取,升级或者删除内容。

技术需求:懂HTML,CSS将会更有帮助
平台支持:iOS,Android


11、Widgetbox

Widgetbox提供了超简单的方式来创建和运营简单,基于内容的移动应用。你可以通过博客或者其它社交媒体的RSS来创建页面。当然你也可以使用HTML和CSS。

技术需求:懂HTML,CSS将会更有帮助
平台支持:大多数的移动浏览器


12、foneFrame

foneframe是一个移动HTML5/CSS3的框架帮助你开发针对移动设备优化的web应用。你可以使用phonegap或者appmobi XDK来作为后端。同时也是一个不错的构建mobile网站的工具。

技术需求:HTML5,javascript,CSS
平台支持:大多数的移动浏览器


13、PhoneGap Build

Phonegap的开发人员创建了一个机遇web的平台帮助你创建你自己的build。叫做PhoneGap build。这个服务目前支持iOS,Android,blackberry,webOS和Symbian。使用这个服务你可以上传你自己的HTML5,CSS3和Javascript,PhoneGap build会帮助你生成你需要的文件,你可以直接发送到App store中。


14、appMobi XDK

appMobi XDK是一个基于云的移动应用开发环境。作为Google chrome的插件存在。同时帮助你运行你的mobile应用,也能帮助你部署应用到app store中。虽然服务是免费的,他们提供了一些附加服务例如,消息推送和电子商务帮助你增强你的移动应用。


15、appcan(国内)

AppCan应用引擎支持Hybrid App的开发和运行。并且着重解决了基于HTML5的移动应用目前“不流畅”和“体验差”的问题。使用AppCan应用引擎提供的Native交互能力,可以让HTML5开发的移动应用基本接近Native App的体验。
 类似资料: