dart

Flutter 插件开发

橙三吉。 提交于 2020-10-31 13:31:49
前言 做了好多年的app开发,虽然问题遇到不少,也解决过不少,但是都没有记录下来,因为自己懒,有时候也因为自己工作忙忘记了,没有写过也没有维护过iOS相关的技术文章,没想着这里都深感惭愧, Flutter 从1.0发布到现在也挺长时间了,也有许多公司已经开始尝试做吃螃蟹的人,刚好公司现在用到Flutter开发,但是Flutter 插件并不像原生iOS或者原生安卓那么丰富,有时候PM的需求又是那么的难搞,难免避免不了需要自己开发插件,那我就把我开发插件的小经验分享出来,希望能帮助到一些朋友. 一 准备工作 Flutter 环境搭建我就不在这里赘述了,新建一个组件模板,有两种新建方式一种是通过命令行,一种是通过Android Studio 通过命令行创建: flutter create -t plugin flutter_plugin 复制代码 Android Studio 创建 选择第二项 Start a new Flutter project 选择Flutter Plugin 填写插件名称 红线圈起来的地方根据自己的语言选择 默认安卓项目是java iOS项目是Object-c,要是需要Kotlin 和 Swift的话 要打上勾,我是一直使用Object-c 所以下面的讲解演示用OC 来写 这是新创建完的插件模板目录 写原生代码的话 就在example 目录里找到对应的iOS 或者

Flutter的基础UI的搭建

旧城冷巷雨未停 提交于 2020-10-29 01:02:55
App端主要的就是UI的搭建,和数据的请求,然后将服务端的数据以精美的UI展示出来,通过这种方法将信息传递给普通用户。普通用户在App上进行操作,将用户行为和数据上传到服务端。所以当我们刚开始接触Flutter这一跨平台开发的时候首先可以先了解一下我们的Flutter UI的搭建。 为什么要学习Flutter? Flutter是Google的开源UI框架,Flutter生成的程序可以直接在Google最新的系统 Fuschia 上运行, 也可以build成 apk 在 android 上运行,或是生成 ipa 在 iOS 运行。 一般传统的跨平台解决方案如RN,Weex等都是将程序员编写的代码自动转换成Native代码,最终渲染工作交还给系统,使用类HTML+JS的UI构建逻辑,但是最终会生成对应的自定义原生控件。 Flutter重写了一套跨平台的UI框架。渲染引擎依靠跨平台的Skia图形库来自己绘制。逻辑处理使用支持AOT的Dart语言,执行效率也比JS高很多。 一. FlutterUI整体架构 跨平台应用的框架,没有使用WebView或者系统平台自带的控件,使用自身的高性能渲染引擎(Skia)自绘,界面开发语言使用dart,底层渲染引擎使用C, C++。 我们可以看到最上层的 Material 和 Cupertino 组件,这两个什么玩意呢。 其实很简单 Cupertino

Flutter,H5,React Native

↘锁芯ラ 提交于 2020-10-28 12:34:09
Flutter介绍 - Flutter,H5,React Native之间的对比 Flutter介绍 Flutter是Google推出的开源移动应用开发框架。开发者可以通过开发一套代码同时运行在iOS和Android平台。 它使用Dart语言进行开发,并且最终编译成各个平台的Native代码,这样既保证了开发效率,也保证了各个平台的运行效率。其相当于从头到尾重写了一套UI框架,不依赖具体平台的组件。其所有的组件都是"Widget"。渲染引擎则依靠高效渲染库Skia实现。 下面我们对比一下H5、React Native、Flutter这些跨平台的解决方案。 移动端的跨平台技术 H5技术 常被人提起的H5技术,其实就是网页+JavaScript。比如目前的一些流行的JS框架Vue,React,AngularJS等都是为了构建网页。针对移动端构建出来的网页可以实现在跨平台的功能,但是其缺点也很明显: 渲染效率低下,用户体验差。很多H5在iOS平台表现尚可,但是在Android上特别是一些低端机上的表现确实让人不敢恭维。 网页调用设备硬件相关API比较困难,而且支持的功能较少,实现此类需求是H5的短板。 React Native React Native(RN)发布于2015年,也是使用JavaScript语言进行跨平台APP的开发。与H5开发不同的是