是时候学习新技术了:前端
转自:https://blog.csdn.net/qq_41346910/article/details/86692124ios
移动开发发展到如今,已经出现了三种开发方式。本文我将为你分析每一种开发的好处和缺点,帮选择一门你喜欢的开发。c++
你可能会遇到过没有不认识的名词,请必定要了解一下,你只须要右键搜索。框架
技术在不断前进,在原生开发尚未精通、RN还只是了解的时候,Flutter就横空出世了。不知道你急不急,我感受面对移动开发的热度和入门很低的如今。你是时候掌握一门新的跨平台技术了,Android 和Ios一块儿开发,不要为本身没有Ios的手机为借口,买不起新的,买个二手的也行啊。性能
1、原生开发学习
1.概述
原生开发最简单理解了。若是你是从事的Android开发,你用Java和Kotlin开发的应用就是原生开发了,ios也同理。google
2.优势
性能高 (不论是UI绘制和功能实现)
专注性高 (可针对物联网、车辆网、等)
能够完成高复杂App、用户体验好
能够直接调用Android系统的API,学习比较容易,开发资料很是多。
3.缺点
成本高(没法跨平台,分别须要Android开发人员和Ios开发人员)
维护度高(Android的各类兼容,最明显的就是屏幕)
动态度比较复杂(通常更新只能发布新版本,须要各App市场审核。固然热修复和热更新能够必定程度上解决)
四、总结
自我感受原生开发不是最差的路线,而是最好的。我对原生开发的建议,不要止步在对现有Android的App能完成开发。你应该选择深刻学习。.net
对Android系统底层深刻理解,framework的理解,以及本身实现。blog
实现复杂的UI能够话出各类别人没法绘制出来的UI,从把本身项目中的第三方UI库替换为本身的UI开始。ip
你写的App除了不能跨平台,别的方面是别的技术没法比拟的!!!
你的Android开发不至于App的简单开发,你能够把Tensorflow在Android上跑通。
你能够学习好c、c++作NDK开发、研究OpenCv、OpenGL、Openssl
2、React Native
1.概述
使用JavaScript和React编写原生移动应用。
React Native产出的并非“网页应用”, 或者说“HTML5应用”,又或者“混合应用”。 最终产品是一个真正的移动应用,从使用感觉上和用Objective-C或Java编写的应用相比几乎是没法区分的。 React Native所使用的基础UI组件和原生应用彻底一致。 你要作的就是把这些基础组件使用JavaScript和React的方式组合起来。
2.优势
跨平台(这是Android原生没法比的)
高性价(只须要一个精通JavaScript一门语言的工程师)
高动态
3.缺点
性能低
操做复杂(没法直接调用一些系统功能)
4.总结
最强点在与跨平台和高性价。若是你对前端很喜欢,能够经过这一方面向前端好好发展,或者成为一名全栈开发。这门技术比较成熟,学习资料也比较很多。
3、Flutter
1.概述
Flutter是自绘UI+原生。
Flutter是谷歌的移动UI框架,能够快速在iOS和Android上构建高质量的原生用户界面。 Flutter能够与现有的代码一块儿工做。在全世界,Flutter正在被愈来愈多的开发者和组织使用,而且Flutter是彻底免费、开源的。
2.优势
跨平台 (一样能够在Android和Ios运行)
性能比较高 (比RN高比原生低)
高灵活 (本身写UI)
热重载
3.缺点
动态度低 (为了保证UI绘制性能)
成本高(学习资料少,仍是新出来的技术不稳定)
4.总结
我的认为,若是你很喜欢App开发,你仍是要学习Flutter,毕竟这是google出品,并且有一统移动App开发之势。
喜欢前端就学习RN,去慢慢接受前端的美。
喜欢Android底层、物联网等,你须要把你的Android学的更加深刻。
最重要的是 深刻学习
.