Flutter入门——什么是Flutter(一)
2019-05-16 本文已影响0人
Aimee的抱抱
前言:
在学习了java和kotlin语言之后,随着flutter的狂潮到来,为了更好的走在移动端开发的大道上,学习flutter是必不可少的,那么作为Android开发工程师的我,就要开始我的flutter从入门到熟练之路了
首先咱们来了解一下。
一、什么是Flutter?
Flutter是Google一个新的用于构建跨平台的手机App的SDK。写一份代码,在Android 和iOS平台上都可以运行。
二、Flutter和之前的React Native、Weex等有什么不同的地方呢?
React Native、Weex等的性能和原生的App存在很大差异。
####原生App
苹果2008年发布iOS,Google 2009年发布Android,它们的SDK是基于两种不同的编程语言Objective-C 和 Jave、Swift和Kotlin。

开发人员直接调用平台SDK进行UI开发。由于语言和SDK的不同,所以开发人员必须为两个平台分别开发App。
####Weex
最早的跨平台方案是基于JaveScript 和 WebView的,像PhoneGap、Cordova、Ionic等。

UI通过WebView显示html代码,系统服务会通过一个Bridge到JaveScript。
####RN
RN不仅桥接系统服务,也将系统UI也桥接到了JaveScript中,这样写出来的UI最终也会渲染成原生的控件。

UI的渲染很频繁的,要使界面不卡顿,必须达到60FPS。但是桥接会花一定的时间。所以可能会有性能问题的出现。
####Flutter
Flutter使用Dart语言开发,Dart可以被编译(AOT)成不同平台的本地代码,使Flutter可以直接和平台通讯就不需要bridge,从而提高了性能。
