如何架构跨平台app store
发布网友
发布时间:2022-04-25 15:44
我来回答
共1个回答
热心网友
时间:2023-10-14 03:30
由于大部份的开发者都有开发过网站的经验,因此有不少跨平台开发解决方案都使用了HTML, Javascript和CSS作为开发的基础。
Mobile Web App框架
各种方案当中,开发Web App是支援平台最多的一种做法。因为现代的行动平台一定都配备了浏览器,以Web的形式来开发App是最直接且入门门槛相对较低的做法。但是因为浏览器的诸多*,有很多装置上的功能(如:拍照、存取通讯录或相簿)并无法使用,与系统间也没有资料交换(如:通讯录、行事历)的机制。再加上无法上架到App Store或Google Play等销售平台上贩卖,这大大*了其应用范围。不过如果只是单纯的信息传递,不需要太多与手机的整合性功能,开发行动装置专用的Mobile Web App,或是同时适用各种装置的Responsive Web App将能够横跨最多的平台。只是要做到流畅的使用者经验,开发者对于HTML5、CSS3的技术掌握必须在一定的层次之上,才能对于各种浏览器环境有一定的掌握。目前针对Mobile Web的框架有Sencha Touch、jQuery Mobile、Meteor、Mobello等。Responsive Web相关框架则有Bootstrap、Foundation、Skeleton、Amazium等。
Hybrid App框架
另一种解决方案为以PhoneGap为首的Hybrid App,它提供一个框架,让开发者能够将网页直接打包成App,上架贩售。若要使用装置的功能,这类框架也提供能Javascript API,让App可以存取手机的功能(如:拍照)。Hybrid App直接使用网页来制作使用者界面,这是它的优点、但同时也是缺点。因为这代表开发者无法直接使用平台原生的使用者界面,也就是说看起来不像该平台的App,要花时间调整到和原生界面相同的视觉效果和流程度,有相当大的门槛要跨过。通常会藉由使用Mobile Web App的框架来降低开发难度。但由于显示的部分还得经过浏览器引擎,也有跨浏览器的兼容问题要处理,在整体的功能与流畅度方面,尚难以和Native App相提并论。不过如果只是单纯的信息呈现,对流畅度和功能的要求较低,Hybrid App还是其生存空间,尤其PhoneGap已经被整合到视觉设计师熟悉的Dreamweaver内。
跨平台Native App框架
这边提到的Native App,讲的用是非原厂的开发平台开发Native App的这类型框架。此类框架让开发者使用他们过去已经熟悉的程序语言如Javascript、C#、Lua开发App,发布时再把程序转换为Native App。因此在流畅度上,比较容易可以和Native App做到差不多的水平。在功能性和与行动平台功能的整合性,也较Hybrid App为佳。这类框架通常都有其特别的适用范围,如Titanium可以使用原生的UI元件,适合一般的应用开发。Corona则是2D的游戏引擎,Unity则是3D游戏的首选开发框架。和原厂的开发平台相比,这些框架常有的弱点就是档案通常比较大、对于个平台的新功能支援也会慢于原厂平台。不过这换来的是较低的学习门槛和跨平台开发节省的时间。
技术抉择
以上介绍的几个类型的框架并没有绝对的好或坏,而是应该看应用类型与公司的资源和策略而定。
如果团队的技术实力和资源足够,能够用原厂的开发平台来开发,非常恭喜你,这将是能够完全发挥软硬件效能的选择。如果横跨最多平台是重点,且无需上架贩售,那么Mobile Web会是最好的选择。如果只需要基本的装置功能,且可以掌握Mobile Web开发技术,那么Hybrid App可以考虑看看。如果你想开发与原厂开发工具相近的使用者经验,而且不会用到平台最新技术,你最适合的选项将会是跨平台Native App框架。