0%

系统要求

1.系统:macOS < 10.15,macOS 10.15 废弃了对32位的支持,导致Flutter编译时会出现bad cpu type的错误;
2.Flutter:VSCode + Flutter插件;
3.Xcode < 11;
4.Android Studio > 3.0;
5.Flutter:1.7.8 hotfix.2

阅读全文 »

优点

跨平台:当前已支持iOS、Andorid、Web、Desktop、嵌入式;
兼容性:Flutter是单一语言、单一框架与平台无关,不必像RN和Weex一样经常做平台适配(虽然也损失了平台特有特性);
Hot reload:可极大的提高开发效率;
AOT compiler:非运行时编译,极大的提高性能;
丰富的widget库:官方已实现了大量的控件库,非官方也贡献了大量的开源widget;
开放工具支持:Android Studio、IntelliJ、VSCode都提供了开发插件且完成度非常高,自动提示、断点提示、堆栈信息查看等支持也很好;
生态圈活跃:截止当前,git的star数为6.89W+,issues数open的6k+,closed为15k+,相比RN的600+和14k+,活跃度可见一斑。

阅读全文 »

简介

Flutter 是 Google 公司2018年2月27日发布的第一个开源跨平台软件开发工具包 (SDK),支持Android、iOS两个平台,可实现高性能、高保真的应用程序开发。开发者借助 Flutter 开发平台可轻松实现自己的应用,其开发框架默认支持了 Material(类似 Google 设计风格)和 Cupertion(类似 iOS 设计风格)两种风格,且无论从UI样式、用户体验上都非常接近原生应用。经过近7个月的优化改进2018年9月19日 Google 公司在上海正式发布非常接近1.0正式版本的 Flutter Release Preview 2,基于其优越性能 Flutter 有望成为未来应用开发的主流工具。

阅读全文 »

项目背景

随着业务的增长,代码量和人员越来越多的情况下,公司iOS项目已经很长时间没做系统化的整理和重构,比较严重的问题表现在:

  1. 耦合严重:各业务线代码之间相互依赖,调用关系错综复杂,难于维护;
  2. 代码复用率低:随着人员的迁移,版本的迭代,开发同学会随意愿添加很多带个人色彩的代码,造了很多重复的轮子;
  3. 工程编译速度慢:代码归一到单一项目中管理,验证功能或bug fixed只能编译运行整个项目;
    基于此,想通过模块化思想来缓解这些问题。
阅读全文 »

环境:Xcode11 beta + iOS13
Xcode11 beta和iOS13刚公布不久,自己做了一下小白鼠,顺便对公司的APP进行了一次简单的适配,总结如下,后续发现新的问题会继续补充。

阅读全文 »

IPA包本质上是一个ZIP包,是由可执行文件和资源组成,而包体优化也从这两部分着手,相关工具和参考可参考文末

资源

  1. UED在PS输出PNG/JPG等图片后可通过一些工具对图片在可接受范围内进行二次压缩,有时效果会非常明显,推荐在线转换工具:https://tinypng.com
  2. 使用xcasset对图片资源进行管理,xcode在打包时会对图片进行一定的压缩优化;
  3. 最低系统要求为iOS8.0后可以开启xcasset编译选项:–optimization space,这个可进一步提高图片集的压缩率,经测试公司APP的xcasset包大小从94M减到73M左右,slice后在用户端的下载大小也有3M的优化效果,另外APP启动速度也略有提升,猜测原因是APP加载资源时间缩短导致;
  4. 通过工具定期扫描工程中的废弃资源文件并分配给各个开发进行确认删除,经过业务的迭代有时效果会很明显,工具推荐:LSUnusedResources-master.zip;
  5. 把gif转换成lottie实现,但这个涉及到各方的接受程度,可能收效甚微;
阅读全文 »