前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter已经出世这么久了,原生开发者们是否应该有危机感?

Flutter已经出世这么久了,原生开发者们是否应该有危机感?

作者头像
Android扫地僧
发布2020-03-19 16:08:08
2K0
发布2020-03-19 16:08:08
举报
文章被收录于专栏:Android进阶

“原生开发是不是要凉了?”

最近在很多地方,都见到在讨论这个问题。

如果说,最早出现的会“威胁”到原生开发的跨平台方案,还不是Flutter。早在2015年Facebook推出React-Native框架时,就已经出现“react native会取代app原生开发吗”这样的疑问。事实证明,原生开发,不管是Android还是iOS,到目前为止,依然坚挺。

在介绍Flutter之前,先简单总结一下,近年来出现的热门跨平台方案:

React Native

Facebook出品。React Native(RN)发布于2015年,也是使用JavaScript语言进行跨平台APP的开发。与H5开发不同的是,它使用JS桥接技术在运行时编译成各个平台的Native代码,其使用的技术Facebook的Flux技术。

其优点是目前的生态比较成熟,目前也有很多跨平台应用使用React Native。它也是跟Flutter对比的主要对象。

WEEX

Alibaba 出品,Java语言,JS V8引擎,Vue设计模式,原生渲染

2016年4月21日,阿里巴巴在Qcon大会上宣布跨平台移动开发工具Weex开放内测邀请。Write once, run everywhere”, weex的定义就像是:写个 vue 前端,顺便帮你编译成性能还不错的 apk 和 ipa(当然,现实有时很骨感)。基于 Vue 设计模式,支持 web、android、ios 三端,原生端同样通过中间层转化,将控件和操作转化为原生逻辑来提高用户体验。

小程序

微信团队出品,2017年1月9日,张小龙在2017微信公开课Pro上发布的小程序正式上线。记得当时在公司里掀起一股浪潮,都在吹捧再也不用安装一堆APP了,只需要下载一个微信,其他应用都可以用小程序替代。当时的16G内存用户一度以为看到了希望。

严格来说,小程序并不算跨平台方案,但是,其当时对原生的影响程度,不亚于前者。

Flutter

Google爸爸出品,其历史最早可以追溯到2015年的Sky项目,Beta1版本于2018年2月27日在2018 世界移动大会公布。与React Native和WEEX使用JavaScript作为编程语言,以及使用平台自身引擎渲染界面不同,Flutter直接选择使用2D绘图引擎库Skia来渲染界面。

为什么要把Flutter单独拎出来说,与react, weex不同,Flutter也看到了目前的跨平台解决方案并不完美,所以它借鉴了React Native的一些思想,做出了很大的优化。它将代码编译成原生代码,并且直接在各个平台中使用其高效渲染引擎Skia进行渲染,没有桥接,不调用平台相关控件。这种设计思想完美解决了不同平台的性能问题,并且关注的开发者数量和相关的教程的增长速度远超当时的React Native。

如何理性看待Flutter?

尽管Flutter作为Google爸爸的亲儿子,本质上,它和react-native, weex没有任何区别,它们仅仅是UI框架,它解决的是跨平台上UI的统一实现,仅此而已。

Fluuter不会有多少专门针对某平台的支持。包括 Android,更别提iOS,所以,使用 Flutter 也是离不开原生开发的。将不同平台的差异功能包装成跨平台的 Flutter 包,这种东西叫做插件,插件里边都是各平台的原生 API 调用代码。Flutter 连申请一个权限都做不到,你怎么替代原生?

也许国外很多公司都已经在开始用 flutter 开发了,国内的话,手机品牌太多了。去 issue 区搜搜,xiaomi 和 huawei,至少每个关键词有100 个未解决的 issue 吧,skia 本身也有一些兼容性问题。

另外,Flutter使用Google自主开发的Dart语言,任何一门新语言,都有它的学习成本,即使你现在Flutter已经学得出神入化,但是一行Java代码都不会写,就想在公司开发Android?抱歉,没有公司会要你的.....

引用一位大佬的话,能干掉平台的只有平台,除非Android有一天被取代,否则,原生开发的地位应该是不会轻易动摇。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Android扫地僧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • React Native
    • WEEX
    • Flutter
    相关产品与服务
    云开发 CloudBase
    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档