前端开发技术迭代远快于后端,且应用场景每种框架各有其优点与缺点,没用确实的高低之分,笔者本次总结出当下热门的移动端开发框架
reactnative
uniapp
android studio (kotlin开发)
flutter(dart语言开发)
Swift(写者未接触过,不作讨论)
作为facebook团队推出的框架,为webapp类型,作为一套UI框架开发周期相对较短,且性能优于uniapp,默认情况下 React Native 会在 Activity
下加载 JS 文件,然后运行在 JavaScriptCore
中解析 Bundle 文件布局,最终堆叠出一系列的原生控件进行渲染。
简单来说就是 通过写 JS 代码配置页面布局,然后 React Native 最终会解析渲染成原生控件,如 <View>
标签对应 ViewGroup/UIView
,<ScrollView>
标签对应 ScrollView/UIScrollView
,<Image>
标签对应 ImageView/UIImageView
等。所以相较于如 uniapp 框架而言, React Native 让页面的性能能得到进一步的提升。
对于传统前端来说,javascript有着很强的亲和力,易于上手
国内有使用到react native开发的较为出名app有:
QQ:AndroidQQ空间:AndroidQQ音乐:Android墨刀:Android/iOS同行网:Android/iOS电猴:Android/iOS
性能 | ⭐⭐⭐⭐ |
---|---|
上手难度 | ⭐⭐⭐ |
跨端 | Android/ios |
uniapp作为国内大神推出的框架,为小企业和独立开发者前端框架首选,使用JavaScript三剑客,且国内有Hbuilder框架作为其御用开发工具,作为webapp,不像react native 那样会渲染成原生组件,因此性能比较弱,但胜在对小程序上兼容上,要知道国内微信,qq,今日头条,抖音等,都有小程序生态,倘若每个原生都去进行学习,对开发者和公司成本是指数上升的。
国内有使用到uniapp开发的较为出名app基本没有,但是胜在小程序兼容性强
评价:
性能 | ⭐⭐ |
---|---|
上手难度 | ⭐ |
跨端 | ⭐⭐⭐⭐⭐ |
kotlin是谷歌设计出来代替java开发的语言,俗称亲儿子,这是大势所趋,从Android studio对java支持限于java 8就可见一斑,且作为原生开发,性能是最佳的。但是上手难度是相对较高的,且官方提供的技术文档,以及开发变化是很快的,开发效率也是低于webapp,这就是客户端开发。
使用原生开发较为出名的app:
淘宝
沃尔玛
等
(国内以及世界上知名安卓app,基本都用上了原生开发)
性能 | ⭐⭐⭐⭐⭐⭐ |
---|---|
上手难度 | ⭐⭐⭐⭐⭐ |
跨端 | Android |
Flutter是由Google推出的开源的高性能跨平台框架,一个2D渲染引擎。在Flutter中,Widget是Flutter用户界面的基本构成单元,可以说一切皆Widget。它是一个开源 SDK,让人们可以使用单个代码库制作出设计精美,具备原生体验的移动设备、Web 和桌面应用程序,在2.0版本宣布支持桌面端和web端也进行支持,且性能强大,跨段也强大的,相对的坑也很多,上手难度直线提升,且由于是新生产物,岗位也少很多,多为Android原生开发人员辅助技能。使用Android sudio作为sdk引入进行开发。
知名app:
闲鱼 Android/ios
小米金融客户端 Android/flutter
性能 | ⭐⭐⭐⭐⭐ |
---|---|
上手难度 | ⭐⭐⭐⭐⭐⭐ |
跨端 | Android/ios/pc/web |