Flutter入门——什么是Flutter(一)

前言:

在学习了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。


Flutter入门——什么是Flutter(一)_第1张图片
原生App的简单架构

开发人员直接调用平台SDK进行UI开发。由于语言和SDK的不同,所以开发人员必须为两个平台分别开发App。

####Weex

最早的跨平台方案是基于JaveScript 和 WebView的,像PhoneGap、Cordova、Ionic等。


Flutter入门——什么是Flutter(一)_第2张图片
WebViews

UI通过WebView显示html代码,系统服务会通过一个Bridge到JaveScript。

####RN

RN不仅桥接系统服务,也将系统UI也桥接到了JaveScript中,这样写出来的UI最终也会渲染成原生的控件。


Flutter入门——什么是Flutter(一)_第3张图片
React Native

UI的渲染很频繁的,要使界面不卡顿,必须达到60FPS。但是桥接会花一定的时间。所以可能会有性能问题的出现。

####Flutter

Flutter使用Dart语言开发,Dart可以被编译(AOT)成不同平台的本地代码,使Flutter可以直接和平台通讯就不需要bridge,从而提高了性能。


Flutter入门——什么是Flutter(一)_第4张图片
Flutter的简单架构

你可能感兴趣的:(Flutter入门——什么是Flutter(一))