1、前言
最近跟部门同学一起分享了跨平台的事儿,写了将近200+页ppt,最后只讲了100+页,只把其中重点的内容讲了,但是,我认为对跨平台的学习,不止是重点的技术内容,还有很多值得探索的问题,比如历史背景,历史发展,那些事儿,那些人儿,往往不经意间,改变历史的技术,就在那一瞬时,固守自封的必须会被淘汰,把握了机遇就有新出路,没有看准方向的会浪费大量的时间。当然,从历史脉络来看跨平台,必须千人千面,能有共鸣之处就好。
下面会有将近200+图片,后续有时间,会针对每张ppt添加对应的讲解。
2、PPT
《当我们在谈论跨平台的时候 ——— 我们在说什么》,最后用这个标题来起跨平台,当我们在谈论xxx的时候,我们到底想说什么?这正是本课程想要探索的世界。
开始时,本课程也是想立于当下,我们一起跨过的平台,Hybrid App、React Native、Flutter、小程序等,我们熟悉的跨过的平台。(2015~2020年)
也想到说用“跨平台那些事儿”作为题目,把跨平台的内容再扩充一下,从大局来了解。
“我曾经跨过山和大海” 歌词来自朴树的《平凡之路》,每次说到“跨平台”,我们在说什么:
跨平台,你想到了什么?
列出一些跨平台的词语
千丝万缕(联系)?天壤之别(差异)?
来龙去脉,抽丝剥茧
顺其自然,看发展(好坏,优劣,高低……)
暮然回首,看起因(抓名词,找对象,全关系)
Java 的口号是:“一次编写,到处运行”(Write once, run anywhere),那么它是怎么实现到处运行呢?怎么跨平台呢?
不同音乐App,大家觉得这些是平台吗,应该怎么跨呢?
从维基百科看到跨平台的解释:
泛指编程语言、软件或硬件设备可以在多种操作系统或不同硬件架构的电脑上运作。
那么,跨平台就是电脑吗?为什么是电脑?手机呢?手机是电脑吗?
3、总结
目前比较忙,后续会慢慢的对每张ppt添加对应的讲解,请期待吧。
相关的资料在 GitHub 可获得:
以上就是跨平台那些事儿,当我们在谈论跨平台的时候,不止是Flutter,还有更多的底层知识或者新生命的事物,理解跨平台,才能应对 ReactNative、Flutter,或者未来的新事物,同时,还要跨越自己,让自己成为一个平台!那么,当我们再在谈论跨平台的时候,我们一定能够应对未来!这就是我想要表达的想法。
- 系统化,实例化,具体化
- 顺其自然,看发展(好坏,优劣,高低……)
- 暮然回首,看起因(抓名词,找对象,全关系)
参考
移动跨平台框架:
- facebook/react-native: A framework for building native apps with React.
- flutter/flutter: Flutter makes it easy and fast to build beautiful apps for mobile and beyond.
- Get Qt - Download now
- Xamarin | Open-source mobile app platform for .NET
- electron/electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
- Yoga Layout | A cross-platform layout engine
苹果 WWDC:
- All WWDC Videos - Apple Developer
- Introducing Core Haptics - WWDC 2019 - Videos - Apple Developer
- Designing Audio-Haptic Experiences - WWDC 2019 - Videos - Apple Developer
- Essential Design Principles - WWDC 2017 - Videos - Apple Developer
- Designing Across Platforms - WWDC 2017 - Videos - Apple Developer
- Haptics - User Interaction - iOS - Human Interface Guidelines - Apple Developer
- Haptic Feedback - User Interaction - watchOS - Human Interface Guidelines - Apple Developer
- Design For Everyone - WWDC 2017 - Videos - Apple Developer
- Dark theme - Material Design
- Design - Apple Developer
谷歌 Android:
- 开发者指南 | Android 开发者 | Android Developers
- OpenGL ES | Android 开发者 | Android Developers
- 缩减图片下载大小 | Android 开发者 | Android Developers
其它资料文档:
技术:
- 【扫盲】HTML5、Web APP、3G网站、Wap网站傻傻分不清楚_慕辰北_新浪博客
- app和wap手机网站的区别在哪里 | 菜鸟教程
- Web 1.0、2.0、3.0 分别是什么意思? - 知乎
- 你不知道的互联网30年秘史 - 网易公开课
- 腾讯公司简介 - Tencent 腾讯
- WAP业务常见问题_中国移动通信
- GPRS套餐_广东移动
- MM_服务中心_中国移动通信
- 中国移动通信产业20年大事记-搜狐IT)
- 1G到5G,我国移动通信发展里程碑 - C114通信网
- 中国互联网络信息中心
- 看电视的人,越来越少了 | 爱范儿
- 分不清ARM和X86架构,别跟我说你懂CPU!
- 苹果、三星、高通都属ARM阵营,为啥华为就不行?-EDN 电子技术设计
- 世界上还有哪些能做基带的公司? - 知乎
- 移动GPU和桌面GPU最核心的差别(讲述TBR和Immediate Rendering) - 知乎
- Android的UI底层是用CPU绘图的还是GPU绘图的呢?以及surfaceview,window,普通view是如何实现的? - 知乎
- WWDC 2018:写给 OpenGL 开发者们的 Metal 开发指南 - 掘金
- CPU/GPU/TPU/NPU傻傻分不清楚 - 知乎
- 什么是张量(tensor)& 深度学习 - 知乎
- 在移动领域,ARM 在哪些方面领先英特尔? - 知乎
- Android屏幕绘制机制及硬件加速 - CSDN博客
- Unity3D手游开发实践 - 吴秦 - 博客园
- sRGB 和 Adobe RGB 有什么区别? - 知乎
- iPhone 上的状态图标和符号 - Apple 支持
- HDC.2019 鸿蒙OS发布演讲 | 鸿蒙学堂
- 跨平台技术趋势及字节跳动 Flutter 架构实践-InfoQ
- 深入理解Android虚拟机及编译系统 - 知乎 一次编码,到处运行的效果
- [Architectures of cross-platform mobile frameworks - Architectures of ReactNative, Xamarin, PhoneGap, Qt](https://books.binwell.com/- architectures-of-reactnative-xamarin-phonegap-qt/3.-architectures-of-cross-platform-mobile-frameworks)
- [Wrapping a native SDK for Unity: our challenges and choices - LINE ENGINEERING](https://engineering.linecorp.com/en/blog/- wrapping-a-native-sdk-for-unity/#)
- 字节跳动为什么选用Flutter
- 跨平台技术演进及Flutter未来
- flutter: 一周感悟
软文:
- 如有侵权,联系必删!
- 如有不正确的地方,欢迎指导!
- 如有疑问,欢迎在评论区一起讨论!
注:本文首发于 iHTCboy’s blog,如若转载,请注来源。