百科问答小站 logo
百科问答小站 font logo



Flutter 革命性的地方在哪里? 第1页

  

user avatar   si-kao-zhe-26 网友的相关建议: 
      

并没有革命性,它任何一个概念都并非独创,但它真正优秀的地方是它思路的正确性,这个正确性和采用语言或什么现代特性都无关,单纯就是映射来弥平差距的做法比不过自绘的便捷性和统一性。

React Native的思路可以理解为定义通用中间层映射到原生,因为原生组件性能最佳所以单看似乎是个很好的方案,但问题是每一个平台经过多年发展早就天差地远,任何一个同时做过安卓和iOS的人都很清楚,看起来好像都是那些视图,实际上编程细节以及特性上都天差地远,要抹平差距可以说异常困难,更何况随着系统版本的迭代很多内容会发生改变,以上都导致ReactNative框架的工作量巨大。

而Flutter优秀就优秀在它愿意退而求其次,不使用原生视图而采用自行绘制,底层采取相同绘制框架就可保证在各端的工作量相对小,其性能虽不可能比过原生但这样可以保证一致性,同时因为没有使用系统控件自然也基本不受系统版本更新的影响,这方面即便原生开发者也每年难免要受到影响,比如iOS15后原先设置导航栏颜色和背景图片的方式无用,原生开发者也不得已来一波适配更新,使用RN框架自然也要跟进变化,但Flutter反而不受影响,同时基于绘制思路Flutter扩展到更多平台也变得相对简单,事实也是Flutter框架在这相对不长的推出时间里不仅仅是性能日渐提升,支持的平台也早已不局限于移动端。

至于很多否定Flutter的人总爱拿着dart语言和那视图树的嵌套说事,但这根本就是狭隘,前端爱js ,安卓爱java 或kotlin ,iOS爱oc 或swift。说到底不过是爱自己的语言舒适区,采用任何一种都不会让其他平台的开发者觉得有多开心,至于视图树嵌套那就是设计的特性,不过是属性和组建写一起确实比较乱,但真要说,难道html不是嵌套?安卓的xml不是嵌套?至于iOS 的autolayout 确实不是嵌套,但那代码的恶心程度还不如嵌套呢,不过是个封装抽取的事情,自己非写个布局几百行的超长widget 还怪的到语言不成。




  

相关话题

  如何在程序里留下彩蛋? 
  ES6 await为什么建议用try...catch捕获错误? 
  Edge 浏览器当初为什么不是基于 Firefox 重构? 
  Pixel 3 及 Pixel 3 XL 有哪些亮点和槽点? 
  如何使 IE 的旧版本如 IE 6.0,7.0,8.0 退出市场? 
  如何评价Google发布的第二代深度学习系统TensorFlow? 
  如何评价 Google 的新 Logo 及 VI ? 
  从设计人员输出的PSD图到最终转换为页面代码,整个过程要用到哪些知识,使用哪些工具,有哪些注意点?有这方面的书籍推荐吗? 
  如何评价 DeepMind 发表在 Nature 的论文公开无需人类棋谱的 AlphaGo Zero? 
  如何看待Mate30系列利用LZ Play进行GMS安装的方式今日被吊销? 

前一个讨论
如何看待阿里云被暂停工信部网络安全威胁信息共享平台合作单位?
下一个讨论
为何谷歌之类大厂程序员认为敏捷开发是瞎扯淡?





© 2025-06-06 - tinynew.org. All Rights Reserved.
© 2025-06-06 - tinynew.org. 保留所有权利