1. Android 图片缓存 - Fresco
GitHub: https://github.com/facebook/fresco
特点:
- 两个内存缓存加上磁盘缓存构成了三级缓存
- 支持流式,可以类似网页上模糊渐进式显示图片
- 对多帧动画图片支持更好,如 Gif、WebP
- 更多样的显示,如圆角、进度条、点击重试、自定义对焦点
- 更多样的加载,如支持 EXIF、全面支持 WebP
- 支持 Android 2.3+ 有兴趣参与源码分析的可以联系我哦
PS:WebP 是 Google 最早在 2010 年提出的,希望能够减少图片在网络的传输时间,在相同图片质量下,WebP 比 JPEG 和 PNG 更小。
国外 Google、FB 已经在较广泛使用 WebP 格式,国内淘宝、微信也都有使用,微信公众号的图片一般默认就是 WebP 格式的。
2. 原生应用开发框架 - React Native
GitHub: https://github.com/facebook/react-native
介绍这个开源项目必须先提下 React,React 还是 Facebook 在 2013 年中开源的用于网站 UI 开发的开源 JS 库。
React Native 就是用 React 进行 Native App 开发的框架。
应该不少人知道 FB 早期的 Android 和 iOS App 都是 H5(HTML5) 版本的,大概在 12 年因为响应太慢最终换回了 Native App,现在他们要重来了吗?
最后,Android 的小伙伴们,嗯啊,没错,这个框架目前只有 iOS 版,React Native 有很大一部分 Native Code 实现,Android 版应该还在搞。
3. 开发集成环境 - Nuclide
用于 React Native、Web 及原生移动开发的 IDE,基于 GitHub 的 Atom 构建,内部集成了 Buck 提高编译速度。Buck 在 Facebook 的那些开源项目有介绍。
4. 关于 Web App
H5 肯定会流行,这个个人觉得是势不可挡的趋势,手机端真的没必都有一个 App。
对于支持 Native App 开发,除了 React Native 外还有很多 JS 框架,虽然思路不一样,比如 React Native 的思路跟传统的 hybrid apps 就不一样,它不需要依赖 Webview,只要 JS 的运行环境即可(这点有机会再深入介绍),但在持续的尝试和探索下肯定会有一定成果。
而后端 NodeJS 已有一定市场,国内不少创业公司在用,淘宝也有尝试。codeKK 也是 NodeJS、MongoDB 简单搭建而成。
有一天 JS 被用来同时开发 Native App、Web 前后端也没什么好奇怪的,但能占到多少市场份额就不好说