大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。
Flutter是考察一名工程师技术广度及对新技术敏感度的重要依据,Flutter作为目前最火热的混合开发框架之一,受到越来越多开发者追捧。在本篇文章中将向大家分享作为初学者该如何高效快速的学习Flutter?
为了高效快速学习Flutter,初学者可以按照这样的步骤进行学习:
Flutter 是由Google 开发的一个跨平台UI开发工具包;叫它UI开发工具包主要是因为它主要聚焦在UI搭建和渲染层的事情,对于本台本身的一些功能:比如调用蓝牙、摄像头,一般还是需要原生代码去操作。但现在也会有一些第三方库帮我们解决这些问题。
从去2018年开始Flutter的热度在不断地上升,那么它对很多同学造成了一个误区:认为Flutter是最近新兴的一个开发框架。说Flutter是最流行的框架呢,是没有任何问题的,但它并不是一个最近才出现的开发框架。为什么这么说呢,接下来让我们来看看一下Flutter的时间简史:
由此开看:Flutter在逐渐的走向成熟和壮大,它的生态圈也在不断的发展,所以现在学习Flutter是正当时!!!
Flutter具有三个主要组成部分:
Flutter是基于Dart语言开发的,所以做Flutter开发我们首先要了解设熟悉Dart语言。
从Dart2开始Dart便是强类型语言,而且是静态类型的,这点可以类比Java,C#。
怎么理解呢?如果在编译时已知变量的类型,则静态键入语言。那么 对于某些语言,这意味着作为开发人员必须指定每个变量的类型(例如:Java,C#);
主要优点是所有类型的检查都可以由编译器完成,因此很早就会发现许多琐碎的错误。
对于移动端同学来说因为Java和Kotlin等都是强类型静态类型语言,所以这块会比较容易上手;但对于前端开发的同学,接触到比较多的编程语言通常是JavaScript,JS是弱类型,动态类型语言,所以在前端同学在学习Dart的时候一定要分清这两个概念。
Dart是面向对象的语言,除Dart外,再为大家列举几个面向对象的编程语言:Python、C++、Objective-C、Java、Kotlin、Swift、C#、Ruby 与 PHP等。
如果你有OOP也就是面向对象编程的经验,那么学习Dart会很轻松。
对于移动端同学来说因为Java和Kotlin等都是基于类的面向对象语言所以学习Dart会轻松些;但对于前端同学来说,虽然JavaScript的核心是支持面向对象的,但JavaScript的基于原型的编程风格是弱类化的和传统基于类的面向对象风格还是有很大的差异的。所以学习Dart会有一定的适应过程,可以将Dart作为你的第一个基于类的面向对象的编程语言进行学习。
Dart支持JIT与AOT,JIT全称 Just In Time(即时编译)Flutter在开发期间采用的是JIT,这样可以做到更快的编译与更快的代码重载;但 JIT的劣势也是显而易见的,JIT需要在运行时将代码编译成机器码,给用户带来的直接感受就是慢;你会发现在开发期间装的flutter包会有些卡顿,release之后会变好,其中一部分原因是因为AOT的存在;
AOT全称 Ahead Of Time(事前编译),典型的例子就是 C/C++,能直接编译成机器码也就是二进制代码,AOT的优势也是显而易见的,事先编译好的二进制代码,加载和执行的速度都会非常快。当你的Flutter APP release时采用的是AOT,这使得你的APP能够以更快的速度和流畅度来运行。
古文《荀子·劝学》中有一句名言:君子生非异也,善假于物也
。所以快速高效的学习一门新知识要善假于物
。在这里为大家列举了几种学习Flutter的抓手: