假如要开发移动应⽤,最直接⽅式是直接开发Android和iOS应⽤,即是⽤Java和Object-c写。但这就要求配备Android和iOS开发⼈员,有没有其他更⾼效的⽅式?
混合应⽤
在不太考虑性能和运⾏效果情况下,可以选择混合应⽤框架。
⼤概在13年,也即使我毕业那种,就有Cordova这种框架,它允许你是⽤web技术开发页⾯,然后运⾏在原⽣webview容器上。相⽐原⽣界⾯代码,⽤web写会简单⾼效多。
这时是需要移动端原⽣⼈员集成Cordova,给出配套的打包,当Cordova不⽀持需求,⾃⾏定制开发。假如不想⼲这事,也可以找提供混合应⽤集成和打包的服务商,那么只需要web开发⼈员即可开发移动应⽤。
其中需要关注的是,Android和iOS都需要打包证书,Android的⽐较简单,⽽iOS就较为复杂,申请证书就要企业⾝份,企业证书发布的还好,上架到AppStore更是⿇烦,多次打回重改是必修课。
混合应⽤2
如果嫌弃web做的页⾯效果,那么可以换⼀种⽤前端语法写,但是本质上是原⽣的框架。阿⾥曾经就搞过个叫weex框架,是⽤vue的语法来写,由容器来解析成原⽣界⾯。
从原理上,这种⽅式是更为⾼效,毕竟它本质上是原⽣程序,但是,但是,这也是从原理上说的。从这种框架诞⽣开始到现在,就没给出⼀个⾼效的证据。
虽然说是⽤前端语法来写,但毕竟真不是web技术,有很多的关键特性⽆法使⽤,开发过程会有各种各样的⿇烦。本质上是因为这种解释性的框架,⽆法完全解释web技术的语法与特性,⼀定会是部分⽀持,你完全不知道哪些东西它就不⽀持了。
你想想,它要是完全解释了web的HTML、CSS、JavaScript,那它本⾝不就是⼀种新语⾔么。其开发者得有多⼤的能耐,才能实现那么多语法特性。
所以,我极其不赞同使⽤这种框架技术,它把web技术阉割了,它导致的⿇烦使得开发者的效率可能⽐开发原⽣程序还慢。
Flutter
也许web页⾯效果真⽆法满⾜要求,不想⽤混合应⽤,但⼜想提⾼开发效率,⾄少不⽤Android和iOS各开发⼀套,那么⽬前Flutter就是最佳⽅案。Flutter⼏⼤特性快速开发
Flutter的热重载可帮助您快速地进⾏测试、构建UI、添加功能并更快地修复错误。在iOS和Android模拟器或真机上可以在亚秒内重载,并且不会丢失状态。
富有表现⼒,漂亮的⽤户界⾯
使⽤Flutter内置美丽的Material Design和Cupertino(iOS风格)widget、丰富的motion API、平滑⽽⾃然的滑动效果和平台感知,为您的⽤户带来全新体验。现代的,响应式框架
使⽤Flutter的现代、响应式框架,和⼀系列基础widget,轻松构建您的⽤户界⾯。使⽤功能强⼤且灵活的API(针对2D、动画、⼿势、效果等)解决艰难的UI挑战。访问本地功能和SDK
通过平台相关的API、第三⽅SDK和原⽣代码让您的应⽤变得强⼤易⽤。 Flutter允许您复⽤现有的Java、Swift或ObjC代码,访问iOS和Android上的原⽣系统功能和系统SDK。统⼀的应⽤开发体验
Flutter拥有丰富的⼯具和库,可以帮助您轻松地同时在iOS和Android系统中实现您的想法和创意。 如果您没有任何移动端开发体验,Flutter是⼀种轻松快捷的⽅式来构建漂亮的移动应⽤程序。 如果您是⼀位经验丰富的iOS或Android开发⼈员,则可以使⽤Flutter作为视图(View)层, 并可以使⽤已经⽤Java / ObjC / Swift完成的部分(Flutter⽀持混合开发)。
个⼈见解性能。
⽆需担⼼的问题,它本⾝就是原⽣代码。界⾯。
漂不漂亮见仁见智。响应式。
提⾼开发效率的特性,赞。原⽣API。
这种⽀持是必然的。统⼀开发。
这种是最为关键的,不再需要同时配备Android和iOS开发⼈员,以后招聘开发⼈员,很可能就是写着Flutter开发⼈员。
整体解决⽅案
简单的移动APP
如果是做简单的移动APP,那么选择以上⼀种就可以了。原⽣实现;混合应⽤;Flutter;平台级应⽤
如果是⼀个平台级应⽤,那么就可以使⽤Flutter做平台能⼒,然后集成Cordova(或者其他类似能⼒框架),做平台上的应⽤。
这样,平台的能⼒拥有原⽣效果,⼜因为是Flutter,原⽣开发⼈员需求降低,⽽平台应⽤,可以web开发⼈员来做,这样对开发者要求⼤⼤降低,可以短平快的产出应⽤。
本⽂为原创⽂章,转载请保留原出处,⽅便溯源,如有错误地⽅,谢谢指正。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- haog.cn 版权所有 赣ICP备2024042798号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务