• 【Flutter学习一】Android的App的三种开发方式


    是时候学习新技术了:

    转自:https://blog.csdn.net/qq_41346910/article/details/86692124


    移动开发发展到现在,已经出现了三种开发方式。本文我将为你分析每一种开发的好处和缺点,帮选择一门你喜欢的开发。

    你可能会遇到过没有不认识的名词,请一定要了解一下,你只需要右键搜索。

    1. 原生开发 
    2. React Native (下文简称RN)
    3. Flutter 

    技术在不断前进,在原生开发还没有精通、RN还只是了解的时候,Flutter就横空出世了。不知道你急不急,我感觉面对移动开发的热度和入门很低的现在。你是时候掌握一门新的跨平台技术了,Android 和Ios一起开发,不要为自己没有Ios的手机为借口,买不起新的,买个二手的也行啊。

    一、原生开发

    1.概述
    原生开发最简单理解了。如果你是从事的Android开发,你用Java和Kotlin开发的应用就是原生开发了,ios也同理。

    2.优点
    性能高 (不管是UI绘制和功能实现)
    专一性高  (可针对物联网、车辆网、等)
    可以完成高复杂App、用户体验好 
    可以直接调用Android系统的API,学习比较容易,开发资料非常多。
    3.缺点
    成本高(无法跨平台,分别需要Android开发人员和Ios开发人员)
    维护度高(Android的各种兼容,最明显的就是屏幕)
    动态度比较复杂(一般更新只能发布新版本,需要各App市场审核。当然热修复和热更新可以一定程度上解决)
    4、总结
    自我感觉原生开发不是最差的路线,而是最好的。我对原生开发的建议,不要止步在对现有Android的App能完成开发。你应该选择深入学习。

    对Android系统底层深入理解,framework的理解,以及自己实现。

    实现复杂的UI可以话出各种别人无法绘制出来的UI,从把自己项目中的第三方UI库替换为自己的UI开始。

    你写的App除了不能跨平台,别的方面是别的技术无法比拟的!!!

    你的Android开发不至于App的简单开发,你可以把Tensorflow在Android上跑通。

    你可以学习好c、c++做NDK开发、研究OpenCv、OpenGL、Openssl

    二、React Native

    1.概述
    使用JavaScript和React编写原生移动应用。

    React Native产出的并不是“网页应用”, 或者说“HTML5应用”,又或者“混合应用”。 最终产品是一个真正的移动应用,从使用感受上和用Objective-C或Java编写的应用相比几乎是无法区分的。 React Native所使用的基础UI组件和原生应用完全一致。 你要做的就是把这些基础组件使用JavaScript和React的方式组合起来。

    2.优点
    跨平台(这是Android原生无法比的)
    高性价(只需要一个精通JavaScript一门语言的工程师)
    高动态  
    3.缺点
    性能低  
    操作复杂(无法直接调用一些系统功能)
    4.总结
    最强点在与跨平台和高性价。如果你对前端很喜欢,可以通过这一方面向前端好好发展,或者成为一名全栈开发。这门技术比较成熟,学习资料也比较不少。

    三、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学的更加深入。

    最重要的是  深入学习

    .

    我的GitHub:https://github.com/lelelongwang
  • 相关阅读:
    coredump分析
    Sword LRU算法
    C++ STL迭代器失效问题
    Sword DB主从一致性的解决方法
    Sword CRC算法原理
    C语言 按位异或实现加法
    Linux 等待信号(sigsuspend)
    C语言 宏定义之可变参数
    Linux shell字符串操作
    C++ *和&
  • 原文地址:https://www.cnblogs.com/longjunhao/p/10511269.html
Copyright © 2020-2023  润新知