窥探Flutter的前世今身

Posted 郭霖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了窥探Flutter的前世今身相关的知识,希望对你有一定的参考价值。


/   今日科技快讯   /


近日,Facebook首席执行官马克·扎克伯格在接受采访时对公司在虚拟现实以及数字货币技术方面的进展充满了风险意识。他认为以Facebook目前的规模,不应再奉行“快速行动、打破常规”的行事方式,而是“行动要快,不要破坏”。


/   作者简介   /


大家周日早上好,坚持一下,还有两天就要小长假啦!


本篇文章来自二娃_的投稿,分享了他对Flutter语言的理解,为大家解释为什么Flutter可能会成为终端开发的未来。相信会对大家有所帮助!同时也感谢作者贡献的精彩文章。


https://juejin.im/user/5bf67660e51d45218f3d0938


/   前言   /


我们从官网的介绍开始说起。


Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase. 


Flutter 是 Google 的 UI 工具包,用于从单个代码库构建漂亮的、本地编译的移动、web 和桌面应用程序。


所以正如我们(看了很多网上的文章后)所知,Flutter是一个开源的、跨平台的UI框架,用它开发的应用程序都具有高保真度和高性能表现。


但也许我们不知道或不太明白的是:


  • 到底什么是UI框架?

  • 到底什么是高保真度?

  • 到底什么是高性能表现?

  • Flutter是如何做到跨平台的?

  • Flutter是如何做到高保真度的?

  • Flutter是如何做到高性能表现的? 


以上问题我们将各个击破,不过在开始前我们先插播一段Flutter背景简介~ 


Flutter背景简介


Flutter的前身是 Google 内部孵化的Sky项目,于2014年10月在 GitHub 上开源一年后,于2015年10月正式更名为Flutter。


Flutter是众多跨平台框架中的一个,其不同之处在于采用了自绘UI+原生的实现方案,相比于H5+原生和javascript开发+原生渲染类的方案,这是一种更为彻底的方案,并且它天生具备两大优点:


  1. 在不同平台的 UI 表现可做到高保真度、高一致性

  2. 绘制 UI 的性能和原生控件接近


Flutter的目标在于做全平台!开发者只需使用同一套基准代码,便可为移动平台、桌面端和网页端开发应用。而目前来看Flutter所支持或将支持的平台已经有 androidios、Fuchsia、Chrome OS,另外我认为未来支持鸿蒙OS(一款让我们引以为傲的操作系统)也必将是件水到渠成的事~


/   正文   /


到底什么是UI框架?


我们把UI和框架拆开,分别来做解释。


UI是User Interface的缩写,是用户界面的意思,但在我们软件领域普遍的认识里,UI设计实际是指软件的人机交互、操作逻辑、界面美观性的整体设计,所以UI就是指软件的交互操作和视觉效果。


框架在百度百科上的释义如下(大家感受下):


框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。


而在我们软件领域,框架可以理解为是一个用来开发软件的工具包,它已处理好了通用的、基础性的工作,并且制定好了使用规则。


所以总结一下,UI框架就是指用来开发软件的工具包,且该软件可以带有交互操作和美观的视觉效果。


到底什么是高保真度?


(这词乍一看怪吓人的,让人头皮发麻,萌生吐意

以上是关于窥探Flutter的前世今身的主要内容,如果未能解决你的问题,请参考以下文章

WebAssembly完全入门——了解wasm的前世今身

社区说 |Flutter 2 迁移实践

ServiceLoader和DriverManager的前世今生

Flutter 学习与性能优化总结

Java基础概叙

Openstatck第一天——初识openstatck