RN , Flutter,weex, 过度的横向发展该怎么选择

背景:

前段时间在一家上市的房地产公司从事相关区块链方面的工作,由于前期公司想做ICO(发布虚拟货币),但后期国家明令禁止做ICO ,没办法,只能中途转型,往IPO(上市)这条路上走,后面用户一直上不来,去年年底一波大潮,我们整个团队被公司裁员了。

今年年初,也就是19年,我开始找工作,发现一个很奇怪的问题,很多公司的要求会RN(weex倒是很少),因为我之前写过weex相关的代码,RN 上手应该也不难。但还有不少公司的招聘要求上明确要求掌握flutter,那时候的我还不了解flutter是什么,后面去网上简单了解了一下,flutter也是一套跨平台的方案,说是比RN 要更加高效一些。因为当时没有接触过,又要找工作,就没去详细了解flutter。

跨平台方案

最近这段时间比较闲,正好公司的项目也用到了RN ,我就系统学习了一些RN ,写了一个demo,顺便维护公司的代码。这样算起来,跨平台的方案,我就已经接触了两套了,虽说weex是在RN 的基础上,改了点东西,但也有自己一定的社区和生态。于是,我就想去详细了解一下flutter,看看这个由Google推出的跨平台方案成为一些公司选择的原因。

flutter

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。
Flutter可以与现有的代码一起工作,并且Flutter是完全免费、开源的。
Flutter 是由 Google 的工程师团队打造的,用于创建高性能、跨平台的移动应用的框架。
Flutter 针对当下以及未来的移动设备进行优化,专注于 Android and iOS 低延迟的输入和高帧率
Flutter的设计跟react-native很像,但是比RN进了一步
Flutter的开发语言是Dart
Flutter将UI组件和渲染器从平台移动到应用程序中,这使得它们可以自定义和可扩展。Flutter唯一要求系统提供的是canvas,以便定制的UI组件可以出现在设备的屏幕上,以及访问事件(触摸,定时器等)和服务(位置、相机等)。这是Flutter可以做到跨平台而且高效的关键。另外Flutter学习了RN的UI编程方式,引入了状态机,更新UI时只更新最小改变区域。

系统的UI框架可以取代,但是系统提供的一些服务是无法取代的。Flutter在跟系统service通信方式,采用的是一种类似插件式的方式,或者有点像远程过程调用RPC方式。这种方式据说也要比RN的桥接方式高效。

flutter 和 RN

Flutter性能会更好无线接近原生的体验,Dart是AOT编译的,编译成快速、可预测的本地代码

RN采用JS语言开发,基于React,对前端工程师更友好。Dart语言受众小

Flutter自己实现了一套UI框架,丢弃了原生的UI框架。而RN还是可以自己利用原生框架,两个各有好处。Flutter的兼容性高,RN可以利用原生已有的优秀UI

RN的布局更像css,而Flutter的布局更像native布局,但是去掉xml通过代码直接写需要适应下

Flutter的第三方库还很少,RN发展的早,虽然也还不完善,Flutter github还有3000多个issues要解决,还有很长的路要走。

横向发展改如何选择

作为一名iOS开发人员,我从2016年开始接触一个所谓的‘大前端’的概念,似乎三端统一是移动端最终的未来,但随着这三年的开发经验,慢慢的我发现,过度的横向发展,会导致自己止步不前,从南京跳槽到上海的第一家公司,就是因为他们可以提供给我学习weex的机会,后面发现有许多趟不过去的坑之后,还是选择用WKWebview去做Hybrid方案。再到后面接触RN,发现有些性能问题和一些复杂的交互和动画,还是得去用Native去实现。原本从技术选型上来说,选择跨平台的方案,肯定是出于节省人力成本资源,但最后往往会发现,不但不能减少人力成本,极有可能埋下一些不可预知的风险。

即使是上面的这种情况,很多公司的招聘要求还是明确的写着flutter这样的要求,(RN出来的算比较早的,一些常见的坑差不多都已经趟过去了)我有些不大明白,难道他们公司的商业应用不需要考虑到线上的一些风险,还是他们真的有能力去及时解决线上可能出现的重大问题。虽说我们不能因噎废食,但如果公司商业应用的体量开始慢慢变得庞大的时候,有些坑趟不过去,是够人喝一壶的了。
看一下flutter目前的生态和社区,我们都知道,很多开发者在做编程选择的时候,社区和生态是考虑的重要标准。

生态:

在Flutter官方的Pub平台上,纯Flutter Package大概有两千多个,基本上常见的库还是都有的,例如网络、图片、音视频播放等等。但是对于目前Android以及iOS的生态,还是远远的不足的,对于一些复杂的UI或者一些不是特别通用的功能,就得自己去实现。

社区很多人反映,真机上运行很卡顿。因为我没有自己去写个demo运行,所以这句话我也不能很确定,单从flutter的渲染机制和他们官方的测试数据来说,应该不存在这样的情况,可能是一些人因为一些坑,导致失分卡顿,但却无力解决。

总结:

RN也好,Flutter也好,对于新技术我们可以去学习,但我个人觉得,还是应该去纵向发展,往深处扎根,因为你的精力是有限的,随着年龄的增长,我们的学习能力在不断下降,往深处扎根的同时,保持对新技术的了解。就像树的根须一样,只有这样才能深深的扎进土里。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容