首页
学习
活动
专区
工具
TVP
发布

从Android到Flutter

专栏作者
20
文章
25039
阅读量
15
订阅数
马上2023年了,你为什么要关注Donut
前言还剩下几天,跌宕起伏的2022年就要过去了。这一年疫情下的起起落落,习惯了居家办公隔离,习惯了日常核酸检测,习惯了到处扫码进门,而最近可能大部分同学又经历过🐑了的日子。年关将近,也可能有一部分同学也遇到了突如其来的“毕业”。这是一个困难的时刻,但是冬天总会过去,春天终究会到来。正如老话讲的,“留的青山在,不怕没柴烧”。我们能做的唯有不断提升自己。你就是你自己的“青山”。要努力学习新的技术来让自己的“青山”变得更加高大强壮。说到新东西,在这个新旧交替的时刻,来关注一下新鲜出炉的甜甜圈(Donut)吧。(本
HowHardCanItBe
2022-12-30
1.1K0
Android开发者的Flutter入门(一)
Flutter推出来已经有一段时间了,前一阵Google IO大会后发布了Beta3。基于Flutter的 app可以一次编写,同时在Android和iOS平台上跑,并且能给用户带来完全原生的体验。我们都知道跨平台开发还有Hybrid,React Native以及Weex等方案,这些解决方案都是从Web开发的角度向Native开发演进,其技术基础都是HTML、CSS和Javascript等Web技术,对于没有接触过Web开发的Native app程序员来讲,门槛是比较高的。而Flutter给我的感觉是从Native开发向Web开发演进,Native app程序员应该能比较舒服的入门。
HowHardCanItBe
2022-05-13
3.2K0
深入理解Flutter/Dart事件机制
在前文《Flutter/Dart中的异步》里,我们知道了Flutter/Dart程序是事件驱动的,Dart代码都是以Isolate的形式存在。每个Isolate内部都有一个事件循环,
HowHardCanItBe
2021-11-24
1.5K0
微信6.7.3版本后无法多图分享的分析
之前微信6.6.7版本出现了图文分享无标题的问题,我写了个短文《微信6.6.7版本后图文分享无标题的分析》分析了一下。今天微信发了个新版本6.7.3。结果是直接无法分享多图了。当你分享多图到微信的时候会微信会显示如下页面:
HowHardCanItBe
2021-07-20
5920
面试时被问到Flutter/Dart的HashMap怎么办?
相信不少同学在面试的时候有被问到关于HashMap的问题,特别是Java/Android程序员,HashMap几乎是必然会被提及的。因为这里面可以挖掘的点实在是太多了。关于Java的HashMap面经在网上可以说是随处可见了。自然而然,随着Flutter的火爆,后面大家也可能在面试中被问到关于Flutter/Dart的HashMap相关问题。与其到时候一问三不知,不如现在就来了解一下Flutter/Dart的HashMap吧。
HowHardCanItBe
2021-05-27
6200
面试时被问到Flutter/Dart的HashMap怎么办?
相信不少同学在面试的时候有被问到关于HashMap的问题,特别是Java/Android程序员,HashMap几乎是必然会被提及的。因为这里面可以挖掘的点实在是太多了。关于Java的HashMap面经在网上可以说是随处可见了。自然而然,随着Flutter的火爆,后面大家也可能在面试中被问到关于Flutter/Dart的HashMap相关问题。与其到时候一问三不知,不如现在就来了解一下Flutter/Dart的HashMap吧。
HowHardCanItBe
2021-05-21
1.2K0
围观Github上Flutter评论最多的Issue
关注Flutter的同学们可能经常会去Github上看看Flutter现状。现在star数量已经是10.4w了,但是,近一年以来处于open状态的issue数量一直徘徊在7k+。这一方面说明Flutter确实火爆,另一方面open issue这平稳的走势也确实让广大开发者对Flutter的未来有些许担心。这个问题可能大家各自会有不同的看法,这里我就不展开说了。
HowHardCanItBe
2020-11-03
9510
你真的理解Binder“一次拷贝“吗?
谈到到Binder相对于其他传统进程间通信方式的优点的时候,我们总会说Binder只需要做“一次拷贝”就行了,而其他传统方式需要“两次拷贝”。这确实是Binder的优点,但再进一步思考就会碰到两个问题:
HowHardCanItBe
2020-09-15
2K0
聊聊怎样学习Binder
Binder可以说是整个Android框架最重要的一个基础。如果不能吃透Binder,就谈不上对Android有多么深刻的理解。这个道理相信大部分Android开发者都清楚。但是Binder整个框架又看起来好像深不可测,上至Java,下至kernel。又横跨众多进程和服务。想看看源代码来学习。看着看着就看不明白了,不由得发出“我是谁?我在哪里?”这样的疑问。这篇文章就想从作者个人的经验来聊聊如何学习Binder。
HowHardCanItBe
2020-09-15
7170
Flutter Hooks 使用及原理
Hooks,直译过来就是"钩子",是前端React框架加入的特性,用来分离状态逻辑和视图逻辑。现在这个特性并不只局限在于React框架中,其它前端框架也在借鉴。同样的,我们也可以在Flutter中使用Hooks。Hooks对于从事Native开发的开发者可能比较陌生。但Flutter的一大优势就是综合了H5,Native等开发平台的优势,对Native开发者和对H5开发者都比较友好。所以通过这篇文章来介绍Hooks,希望大家能对这一特性有所了解。
HowHardCanItBe
2020-09-15
2.1K0
推荐一种简单的在Flutter中分离View与Model的方法
我们在做Flutter开发的时候主要会在State中加入很多自己的业务逻辑,例如网络请求,数据处理等等,如果你的业务逻辑比较复杂的话会面对着一个越来越膨胀的State。代码的可读性下降,日后维护也越来越困难。这和我们在开发Android的时候遇到巨无霸Activity是同样的问题。解决办法就是分层解耦。Android从MVC进化到MVP/MVVM。Flutter 也有开发者把MVP引入到Flutter来解决这个问题。这里我们来看另一种比较简单的方法。
HowHardCanItBe
2020-09-15
1.4K0
Flutter框架分析(四)-- Flutter框架的运行
前面几篇文章介绍了Flutter框架的渲染流水线,window,初始化以及Widget,Element和RenderObject体系。其中对Widget,Element和RenderObject的介绍主要是一些静态的说明,了解了以上这些技术点之后,在这篇文章里我们会通过动态运行的方式来介绍一下Flutter框架是如何运行的。 从之前介绍的渲染流水线可以知道,这个过程大致可以分为两段操作。第一段是从State.setState()到去engine那里请求一帧,第二段就是Vsync信号到来以后渲染流水线开始重建新的一帧最后送入engine去显示。我们先来看第一段Flutter框架都做了什么。
HowHardCanItBe
2020-09-15
8070
Flutter框架分析(三)-- Widget,Element和RenderObject
前面两篇Flutter框架分析的文章介绍了渲染流水线,window和框架的初始化。这篇文章继续来理一下对Flutter app开发者来说比较重要的Widget,Element和RenderObject体系。Flutter的理念是一切都是Widget(Everythin is Widget)。开发者在开发Flutter app的时候主要都是在写很多Widget。那么这三者之间是什么关系?它们是怎么工作的呢?让我们来一探究竟。
HowHardCanItBe
2020-09-15
1.2K0
Flutter框架分析(二)-- 初始化
上篇文章《Flutter框架分析(一)-- 总览和Window》介绍了Flutter框架最核心的渲染流水线和最基础的Window。这篇文章里,我们从Flutter框架的初始化来进入,来一步步揭开Flutter的面纱。写过Flutter程序的同学都知道,Flutter app的入口就是函数runApp()。
HowHardCanItBe
2020-09-15
8600
Flutter框架分析(一)-- 总览和Window
在熟悉了Flutter app开发以后,我们的好奇心会驱使对Flutter框架是如何运行产生诸多疑问,Flutter是如何运转的?Widget到底是什么东西?RenderObject又是个什么鬼?runApp()之后发生了什么?调用sateState()之后页面又是如何刷新的?要解答这些问题,就需要学习一下Flutter框架的源代码。为此我会基于源码写一系列文章来分析一下Flutter框架。本文是第一篇,主要是先介绍一下Flutter框架的总览和基础--Window。
HowHardCanItBe
2020-09-15
1K0
Flutter/Dart中的异步
我们所熟悉的前端开发框架大都是事件驱动的。事件驱动意味着你的程序中必然存在事件循环和事件队列。事件循环会不停的从事件队列中获取和处理各种事件。也就是说你的程序必然是支持异步的。
HowHardCanItBe
2020-09-15
8880
Flutter如何和Native通信-Android视角
我们都知道Flutter开发的app是可以同时在iOS和Android系统上运行的。显然Flutter需要有和Native通信的能力。比如说,你的Flutter app要显示手机的电量,而电量只能通过平台的系统Api获取。这时就需要有个机制使得Flutter可以通过某种方式来调用这个系统Api并且获得返回值。那么Flutter是如何做到的呢?答案是Platform Channels。
HowHardCanItBe
2020-09-15
1.7K0
微信6.6.7版本后图文分享无标题的分析
微信升级到6.7.3以后多图分享已经彻底不能用了,具体可参考我的另一篇文章《微信6.7.3版本后无法多图分享的分析》
HowHardCanItBe
2020-09-15
8390
Android开发者的Flutter入门(二)
上篇文章Android开发者的Flutter入门(一)讲解了用Flutter开发一个简单的新闻app的大体流程以及主要功能的实现。其中略过了一些功能的实现细节。这篇文章会对这些细节做一些阐述。涉及到的有以下这些点:
HowHardCanItBe
2020-09-15
1.3K0
Android App秒开的奥秘
Android App秒开,狭义的讲是指你的App的Activity从启动到显示所花费的时间在1秒以内,广义的讲是指这个过程所花费的时间越少越好。这个时间越短,你的App给用户的感觉就是响应越快,使用越流畅,用户体验更好。秒开是Android App的一个很重要的性能指标。需要我们持续的给予关注和优化。
HowHardCanItBe
2020-09-15
1.1K0
点击加载更多
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档