Flutter核心技术与实战-陈航-极客时间-返现24元

极客时间专栏 2019-01-02 10:55:13 阅读(4870) 评论(0)

极客时间出品的《Flutter核心技术与实战》由陈航所作,陈航是美团点评高级技术专家。本专栏来自Google的高性能跨平台开发框架。

Flutter核心技术与实战 作者陈航

订阅价格:

原价¥99 ,限时¥68。2045 人已学习 · 共43讲 · 每周二 / 四 / 六, 本课程为图文+音频课程。可在极客时间APP/小程序/网站上永久观看。

Flutter核心技术与实战 封面图

用我的邀请购买,还会额外返现24元。购买的朋友请加我微信号 dismissmewp ,备注:返现。

《Flutter核心技术与实战》课程背景

当下是移动互联网的时代,也是大前端技术紧密整合的时代。而移动系统与终端设备的碎片化,让我们一直头痛于在不同平台上开发和维护同一个产品的成本问题:使用原生方式来开发 App,不仅要求分别针对 iOS 和 Android 平台,使用不同的语言实现同样的产品功能,还要对不同的终端设备和不同的操作系统进行功能适配,并承担由此带来的测试维护升级工作。

这对中小型团队而言无疑是非常大的负担,也无形中拖慢了追求“小步快跑”,以快速应对市场变化的互联网产品交付节奏。

为解决这一问题,各类打着“一套代码,多端运行”口号的跨平台开发方案,如雨后春笋般涌现,React Native 就是其中的典型代表。

React Native 希望开发者能够在性能、展示、交互能力和迭代交付效率之间做到平衡。它在 Web 容器方案的基础上,优化了加载、解析和渲染这三大过程,以相对简单的方式支持了构建移动端页面必要的 Web 标准,保证了便捷的前端开发体验;并且在保留基本渲染能力的基础上,用原生自带的 UI 组件实现代替了核心的渲染引擎,从而保证了良好的渲染性能。

但是,由于 React Native 的技术方案所限,使用原生控件承载界面渲染,在牺牲了部分 Web 标准灵活性的同时,固然解决了不少性能问题,但也引入了新的问题:除开通过 JavaScript 虚拟机进行原生接口的调用,而带来的通信低效不谈,由于框架本身不负责渲染,而是由原生代理,因此我们还需要面对大量平台相关的逻辑。

而随着系统版本和 API 的变化,我们还需要处理不同平台的原生控件渲染能力上的差异,修复各类怪异的 Bug,甚至还需要在原生系统上打各类补丁。

这都使 React Native 的跨平台特性被大打折扣:要用好 React Native,除了掌握这个框架外,开发者还必须同时熟悉 iOS 和 Android 系统。这,无疑给开发者提出了更多挑战,也是很多开发者们对 React Native 又爱又恨的原因。在这其中,也有一些团队决定放弃 React Native 回归原生开发,Airbnb 就是一个例子。

在接下来三个月的时间里,我将和你一起学习 Flutter。

《Flutter核心技术与实战》讲师简介

陈航,美团点评高级技术专家,现任美团外卖商家业务大前端技术负责人,致力于提升终端团队的研发效率与交付质量。近十年来,他一直工作于大前端相关领域,且曾分别探索并大规模落地了以React Native和Flutter为代表的跨平台方案,还是美团点评最早落地Flutter线上大规模应用的发起者和推动者之一。

Flutter核心技术与实战 作者陈航

在这个专栏里,陈航将通过对比其他框架的特性,着重为你剖析Flutter的核心知识点和背后原理,以及一些常见问题的解决思路。让你在既有终端技术栈的基础上做能力叠加,而非从零开始学习Flutter,沉浸在API的参数和实现细节中。

我们的最终目标是,带你构建出一套符合企业级开发标准的Flutter混合开发框架,从而帮助你将Flutter集成至现有企业应用中,用一套代码实现在iOS、Android平台上体验优良的应用。

《Flutter核心技术与实战》课程模块

专栏分为5大模块,共43讲。

Flutter开发起步模块,从跨平台方案发展历史出发,与你介绍Flutter的诞生背景、基本原理,并带你体验一下Flutter代码是如何在原生系统上运行的。

Dart基础模块,从Dart与其他编程语言的设计思想对比出发,与你讲述Dart设计的关键思路以及独有特性,并通过一个综合案例去实践一下。

Flutter基础模块,将通过Flutter与原生系统对应概念的对比,与你讲述Flutter独有的概念和框架设计思路。学完这个模块,你就可以开发出一个简单的App了。

Flutter进阶模块,与你讲述Flutter开发中的一些疑难问题、高级特性及其背后原理,帮助你在遇到问题时可以化被动为主动。

Flutter综合应用模块,着重和你分析在企业级应用迭代的生命周期中,如何从效率和质量这两个维度出发,构建自己的Flutter开发体系。

《Flutter核心技术与实战》课程目录

开篇词

为什么每一位大前端从业者都应该学习Flutter?

预习篇

从0开始搭建Flutter工程环境

Dart语言概览

Flutter开发起步

深入理解跨平台方案的历史发展逻辑

Flutter区别于其他方案的关键技术是什么?

从标准模板入手,体会Flutte「代码是如何运行在原生 系统上的

Dart语言基础

基础语法与类型变量:Dart是如何表示信息的?

函数、类与运算符:Dart是如何处理信息的?

综合案例:掌握Dart核心特性

Flutter 基础

Widget,构建Flutter界面的基石

Widget中的State到底是什么?

提到生命周期,我们是在说什么?

经典控件(一):文本、图片和按钮在Flutter中怎么用?

经典控件(二):UlTableView/ListView 在 Flutter 中是 什么?

经典布局:如何定义子控件在父容器中排版的位置?

组合与自绘,我该选用何种方式自定义Widget?

从夜间模式说起,如何定制不同风格的App主题?

依赖管理(一):图片、配置和字体在Flutter中怎么用?

依赖管理(二):第三方组件库在Flutter中要如何管理?

用户交互事件该如何响应?

关于跨组件传递数据,你只需要记住这三招

路由与导航,Rutter是这样实现页面切换的

Flutter进阶

如何构造炫酷的动画效果?

单线程模型怎么保证UI运行流畅?

HTTP网络编程与JSON解析

本地存储与数据库的使用和优化

如何在Dart层兼容Android/iOS平台特定实现?

如何在原生应用中混编Flutter工程?

混合开发,该用何种方案管理导航栈?

为什么需要做状态管理,怎么做?

如何实现原生推送能力?

适配国际化,除了多语言我们还需要注意什么?

如何适配不同分辨率的手机屏幕?

如何理解Flutter的编译模式?

Hot Reload是怎么做到的?

如何通过工具链优化开发调试效率?

如何检测并优化Rutter App的整体性能表现?

如何通过自动化测试提高交付质量?

Flutter综合应用

线上出现问题,该如何做好异常捕获与信息采集?

衡量Flutter App线上质量,我们需要关注这三个指标

组件化和平台化,该如何组织合理稳定的Flutter工程 结构?

如何构建高效的Rutter App打包发布环境?

如何构建自己的Flutter混合开发框架(一)?

如何构建自己的Flutter混合开发框架(二)?

 

猿人学banner宣传图

我的公众号:猿人学 Python 上会分享更多心得体会,敬请关注。

***版权申明:若没有特殊说明,文章皆是猿人学 yuanrenxue.con 原创,没有猿人学授权,请勿以任何形式转载。***

说点什么吧...