软研|老来多健忘,不如Flutter

Posted 软件研发中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软研|老来多健忘,不如Flutter相关的知识,希望对你有一定的参考价值。

HelloAvbody!

好久不见,我是Sette

刚刚忽然想起来还有推送没写

本当ごめんね……:)


软研|老来多健忘,不如Flutter

今天给大家介绍一下Flutter

首先

Flutter是什么?

Flutter是一款移动应用程序SDK

一份代码可以同时生成iosandroid两个高性能、高保真的应用程序

Flutter目标是使开发人员能够交付在

不同平台

都感觉自然流畅的高性能应用程序

兼容滚动行为排版图标等方面的差异


更重要的一点,听我说,Flutter无需移动开发经验即可开始使用

应用程序是用Dart语言编写的

如果您使用过Java或javascript之类的语言

则该应用程序看起来很熟悉

使用面向对象语言的经验绝对有帮助

但一些Flutter应用程序甚至是没有编程经验的人写的!


小萌新们不要紧张,注意哦!

一切从0开始

不要慌张。接下来我要介绍的是为什么选择Flutter

(内容主要参考官方文档和知乎大佬分析)


在此之前

我根据个人浅薄的知识层面简单的说一下啊

我对所谓的框架的一个认识

很可能不全面,毕竟我也是一个业余玩家

比如说现在很多的网站

有着千篇一律的主题

有些交互效果大致相同

我认为这就是拜托框架所赐

他把这些东西打包一起放在

css和js脚本文件中

我们只需要做到引用

当然

不仅仅是网站

也会有其他程序如此

所以,Flutter框架也不例外

为什么要推荐这个框架

一定是他的效果更突出

或者实现的步骤更简单

现在让我们看看

为什么要做出对于他的推荐


软研|老来多健忘,不如Flutter
软研|老来多健忘,不如Flutter



官网给我们的解释是这样的:


为什么要使用Flutter?

Flutter有什么优势?它可以帮助你:

提高开发效率

在应用程序运行时更改代码并重新加载(通过热重载)

修复崩溃并继续从应用程序停止的地方进行调试

同一份代码开发iOS和Android

用更少的代码做更多的事情

轻松迭代

创建美观

高度定制的用户体验

受益于使用Flutter框架提供的丰富的

Material Design和Cupertino(iOS风格)的widget

实现定制、美观、品牌驱动的设计

而不受原生控件的限制

核心原则

Flutter包括一个现代的响应式框架

一个2D渲染引擎、现成的widget和开发工具

这些组件可以帮助您快速地设计、构建、测试和调试应用程序


软研|老来多健忘,不如Flutter


网友的科普:

一号选手:

在Flutter框架出现之前,主要有以下几个移动App跨平台开发框架:Cordova、Ionic、AppCan、Dcloud、APICloud、React Native。虽然有那么多框架,但是它们的原理都是使用html、CSS和JavaScript进行移动App开发,多平台共用一套代码,提供了丰富的主流UI库、用来调用原生API的JavaScript API包装器,同时还提供App打包、发布的工具或服务。由于这些跨平台开发框架是使用标准Web技术开发,所以它们打包出来的App在性能上,多少都会比原生App差上不少,这也是移动App跨平台开发技术一直不温不火的原因。


二号选手:

但是,Flutter的目标是使同一套代码同时运行在Android和iOS系统上,并且拥有媲美原生应用的性能,Flutter甚至提供了两套控件来适配Android和iOS(滚动效果、字体和控件图标等等),为了让App在细节处看起来更像原生应用。

Flutter则开辟了一种全新的思路,从头到尾重写一套跨平台的UI框架,包括UI控件、渲染逻辑甚至开发语言。渲染引擎依靠跨平台的Skia图形库来实现,依赖系统的只有图形绘制相关的接口,可以在最大程度上保证不同平台、不同设备的体验一致性,逻辑处理使用支持AOT的Dart语言,执行效率也比JavaScript高得多。

Flutter同时支持Windows、Linux和macOS操作系统作为开发环境,并且在Android Studio和VS Code两个IDE上都提供了全功能的支持。Flutter所使用的Dart语言同时支持AOT和JIT运行方式,JIT模式下还有一个备受欢迎的开发利器“热刷新”(Hot Reload),即在Android Studio中编辑Dart代码后,只需要点击保存或者“Hot Reload”按钮,就可以立即更新到正在运行的设备上,不需要重新编译App,甚至不需要重启App,立即就可以看到更新后的样式。

在Flutter中,所有功能都可以通过组合多个Widget来实现,包括对齐方式、按行排列、按列排列、网格排列甚至事件处理等等。Flutter控件主要分为两大类,StatelessWidget和StatefulWidget,StatelessWidget用来展示静态的文本或者图片,如果控件需要根据外部数据或者用户操作来改变的话,就需要使用StatefulWidget。State的概念也是来源于Facebook的流行Web框架React ,React风格的框架中使用控件树和各自的状态来构建界面,当某个控件的状态发生变化时由框架负责对比前后状态差异并且采取最小代价来更新渲染结果

 


 

软研|老来多健忘,不如Flutter
软研|老来多健忘,不如Flutter

  当然

以上学术气息这么浓厚的科普和讲了和没讲差不多的官网介绍

是不是让人觉得绝望

那就让才疏学浅的在下为大家

简(sui)单(yuan)分(xia)析(cai):)


首先

我感觉到最重要的应该就是他不停地强调的跨平台+美观+原生性能

跨平台是通过一套代码但是能够写出在不同系统上运行的程序

而且为了排除差异性可以通过主题来控制

并且Flutter尽量的还原了原生性能


在实际操作中,又能明显的感受到什么呢?

1.热重载

2号选手说的热刷新

当我们点击“热重载”并且我们能在短时间内就看到结果

热重载不仅仅快还智能——如果你有一些数据已经被显示

你可以在应用运行期间使用热重载改变 UI 

快速并且智能

2.简单的分块

想加什么可以直接加上他所属的代码

比如说开源中国中的添加悬浮动作按钮

就可以直接加上相应的代码

所有东西都是分离块(Widget)

当然这也能够很快速的布局

3.很多资源

有很多的资源包

(详细看官网哦!)


以上是我个人的大概概括吧。如果有错,就在下面留言哦!有兴趣的同学就去学习学习吧。 如果英文好的话,看一下英文文档会飞速提升哦!


软研|老来多健忘,不如Flutter

以上呢,是今天的学习的所有内容

最近快到考试周了

16周Sette将面临着掉头风险

并且对于Sette的死亡12月份也已经到了

很多很多事情堆攒着

一个人真的很累呢

很多事情办不好呢

但是也要加油呀

各位老萌新小萌新也要加油呀!

我是Sette

那个骚断腿的男人女人

软研|老来多健忘,不如Flutter
软研|老来多健忘,不如Flutter
软研|老来多健忘,不如Flutter

祝大家这个冬天心想事成

考试顺利

工作室的各位觉得愉快

回家前可以一起去喝一杯哈哈哈哈

老来多健忘

我想你知道

我想要什么:)


以上是关于软研|老来多健忘,不如Flutter的主要内容,如果未能解决你的问题,请参考以下文章

联通软研院2020年球季校招笔试第三题 20190916

网易极客战记官方攻略-地牢-健忘的宝石匠

49岁和儿子一起考研成功退休后学编程开发游戏…他们老来也耍酷!

手把手学习flutterflutter的路由管理

FlutterFlutter 混合开发 ( Flutter 与 Native 通信 | 完整代码示例 )

FlutterFlutter 混合开发 ( 混合开发中 Flutter 的 热重启 / 热加载 )