许式伟的架构课
许式伟
七牛云CEO
立即订阅
20017 人已学习
课程目录
已更新 72 讲 / 共 77 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 怎样成长为优秀的软件架构师?
免费
基础平台篇 (21讲)
01 | 架构设计的宏观视角
02 | 大厦基石:无生有,有生万物
03 | 汇编:编程语言的诞生
04 | 编程语言的进化
05 | 思考题解读:如何实现可自我迭代的计算机?
06 | 操作系统进场
07 | 软件运行机制及内存管理
08 | 操作系统内核与编程接口
09 | 外存管理与文件系统
10 | 输入和输出设备:交互的演进
11 | 多任务:进程、线程与协程
12 | 进程内协同:同步、互斥与通讯
13 | 进程间的同步互斥、资源共享与通讯
14 | IP 网络:连接世界的桥梁
15 | 可编程的互联网世界
16 | 安全管理:数字世界的守护
17 | 架构:需求分析 (上)
18 | 架构:需求分析 (下) · 实战案例
19 | 基础平台篇:回顾与总结
加餐 | 我看Facebook发币(上):区块链、比特币与Libra币
加餐 | 我看Facebook发币(下):深入浅出理解 Libra 币
桌面开发篇 (16讲)
20 | 桌面开发的宏观视角
21 | 图形界面程序的框架
22 | 桌面程序的架构建议
23 | Web开发:浏览器、小程序与PWA
24 | 跨平台与 Web 开发的建议
25 | 桌面开发的未来
26 | 实战(一):怎么设计一个“画图”程序?
27 | 实战(二):怎么设计一个“画图”程序?
28 | 实战(三):怎么设计一个“画图”程序?
29 | 实战(四):怎么设计一个“画图”程序?
30 | 实战(五):怎么设计一个“画图”程序?
31 | 辅助界面元素的架构设计
课外阅读 | 从《孙子兵法》看底层的自然法则
加餐 | 想当架构师,我需要成为“全才”吗?
32 | 架构:系统的概要设计
33 | 桌面开发篇:回顾与总结
服务端开发篇 (14讲)
34 | 服务端开发的宏观视角
35 | 流量调度与负载均衡
36 | 业务状态与存储中间件
37 | 键值存储与数据库
38 | 文件系统与对象存储
39 | 存储与缓存
40 | 服务端的业务架构建议
41 | 实战(一):“画图”程序后端实战
42 | 实战(二):“画图”程序后端实战
43 | 实战(三):“画图”程序后端实战
44 | 实战(四):“画图”程序后端实战
45 | 架构:怎么做详细设计?
46 | 服务端开发篇:回顾与总结
加餐 | 如何做HTTP服务的测试?
服务治理篇 (11讲)
47 | 服务治理的宏观视角
48 | 事务与工程:什么是工程师思维?
49 | 发布、升级与版本管理
50 | 日志、监控与报警
加餐 | 怎么保障发布的效率与质量?
51 | 故障域与故障预案
52 | 故障排查与根因分析
53 | 过载保护与容量规划
54 | 业务的可支持性与持续运营
55 | 云计算、容器革命与服务端的未来
56 | 服务治理篇:回顾与总结
架构思维篇 (9讲)
57 | 心性:架构师的修炼之道
用户故事 | 站在更高的视角看架构
58 | 如何判断架构设计的优劣?
59 | 少谈点框架,多谈点业务
60 | 架构分解:边界,不断重新审视边界
加餐 | 实战:“画图程序” 的整体架构
61 | 全局性功能的架构设计
62 | 重新认识开闭原则 (OCP)
63 | 接口设计的准则
许式伟的架构课
登录|注册

25 | 桌面开发的未来

许式伟 2019-07-16
你好,我是七牛云许式伟。
今天,我原本想结合一个实战例子,来回顾一下 “桌面软件开发” 一章到今天为止的内容,但是由于要准备的内容比较多,会延后一下。
所以,今天我还是会按原来大纲的内容,谈谈我个人对桌面开发未来趋势的判断。

桌面平台的演进与未来

谈未来,我们要先看过去。
在 PC 时期,本地桌面操作系统主流的有 Windows、MacOS、Linux。为了消除不同平台的差异,于是就出现了 QT、wxWidgets 这样的跨平台解决方案。
但是它们都败了,败给了一个它们并没有意想得到的对手:PC 浏览器
浏览器并不是为跨平台而来,但是除了干成了软件服务化外,也干成了跨平台这件事情。
虽然浏览器厂商很多,但是它们遵循相同的规范。这意味着支持了浏览器,就支持了所有的 PC 用户。
这太诱人了。
于是在软件服务化和跨平台开发的双重优势下,软件厂商们趋之若鹜,QT、wxWidgets 这些方案就变成小众需求。
QT 有机会反抗么?其实是有的。关于这一点我们后面再说。
然后,移动大潮来了。我记得 2006 年有一次我和雷军雷总吃饭,聊起对移动操作系统未来趋势的判断,我们俩各持己见。
雷总认为 WinCE 会赢,因为 Windows 已经培育了最大的开发者群体。而我认为 Symbian 会赢,因为它占据了最大的终端用户群。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《许式伟的架构课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(19)

  • 有铭
    编程技术的进化方向就是尽量下沉,让更多“水平一般”的开发者甚至是儿童,能写出在80%场景下可以在生产环境下跑的程序,剩下20%的问题交给专家解决。这个思路在上世纪60年代就被确定下来了,毕竟水平越低的开发者薪水越低,节约成本。所以我的感觉就是,未来IT这块,除非你真打算做研究,爬格子,写论文。否则的话,广度比深度优先,广度能让你迅速的用已知轮子快速的组装出系统来验证业务。而研究深度,如果运气不好押错方向,就像windowsphone那样一个转身,全部就白费了
    2019-07-16
    1
    14
  • 大王叫我来巡山
    每一篇都读很多遍,深度是需要自己的努力的,但是方向还是需要老师来带,好的专栏不局限于传授知识,更多的是交流思想,感谢许老师
    2019-07-16
    9
  • 飞哥
    桌面跨平台Electron呢?
    2019-07-16
    2
    7
  • 公号-技术人成长
    许总好,之前问过您关于以后不懂编程就类似于文盲的问题,您回答说人工智能发展得好的话会反向影响教育走向,现在我又想问问关于码农未来的。

    以后小孩或者文化水平很低的人,都可以搭积木式的进行应用编程,那应该开发基本上就变成了体力活,实际上现在某些方面的开发也倾向于是体力活了,这样的话,目前的码农们如果以后还是做应用开发,那将不会有太多优势可言,要想提高身价,就必须去弄智能开发框架,也就像现在的一些人应用写多了就转去开发框架一样。

    这样来看的话,应用开发混得比较好的,主要又是那些有创意的人,比如现在的一些设计师,将来编程对他们来说不难了,他们开发的应用反而更容易受欢迎,目前没有美工、设计基础的应用开发人员,如果到时候不能去做更底层的框架开发,身价就会下降,日子不好过,和小孩子相比都没有优势了。

    想问下许总,未来的趋势会大概是这样吗?还有您怎么看待孙正义提到的未来三十年属于人工智能的说法?

    作者回复: 1、编程教育和程序员职业是两码事。就像大家都接受过语文教育,但是作家仍然是小众群体。编程也一样,未来大多数人都更容易去通过产品原型而不是文字或ppt表达思想,但不代表他们都会做专业的产品。另外轻型的应用机会的确会存在,门槛降低,有如今天的直播热潮让造星的门槛降低一样。
    2、人工智能是一个曲线特别怪的技术,很多时候预测会失灵。所以未来怎么样,判断对与错的概率一样大。

    2019-07-22
    1
    4
  • choes
    最近我也在教我8岁的外甥用Scratch编程, 他称这个叫猫猫软件, 感觉就是搭积木来实现自己的想法, 完全想象不到有一天儿童也能做生产级的应. 之前的文章里许老师有说过教小孩编程, 请问也是用Scratch吗? 还是用Python或Go之类的语言呢?

    作者回复: 从scratch开始的,但是不限于它

    2019-07-17
    2
  • 默片。
    qt的qml和webassembly支持是否可以从某种程度上看做对web的支持呢

    作者回复: 嗯,webassembly算

    2019-07-17
    2
  • leslie
    受教了:视角完全不一样,每次看许老师的东西都觉得能够换个角度和方式去思考一些技术相关的事情。
            
    2019-07-16
    2
  • “桌面开发技术的演进,和儿童编程教育相向而行,有一天必然汇聚于一点上。”这句话真的很深刻。未来在哪里,在现在的儿童手里啊😊
    2019-08-01
  • Eternal
    "桌面开发技术的演进,和儿童编程教育相向而行,有一天必然汇聚于一点" 让交互越来越简单,更加接近人们的自然交互
    2019-07-29
  • 布凡
    IoT是Internet of Things的缩写吧,所以文章中的读法是否有问题?

    作者回复: 的确,多谢反馈

    2019-07-27
  • 二马
    许大大如果写科技史,科技人文类的专栏或者书,相信也会和吴军博士的《浪潮之巅》一样精彩!
    2019-07-19
  • kirogiyi
    曾经想过软件开发的未来,大部分软件开发工作可以通过机器学习进行机器编程,人类只需要做好模型设计和下达指令就可以得到自己想要的软件,逐步取代如今大部分靠人工开发软件的方式,从而降低人工成本和提高效率(当然也意味着未来软件开发的门槛更高——精英编程)。现在许老师讲到了儿童编程的未来,那么儿童编程在未来是否会催生一种新的软件开发方式或者改变IT行业的整个布局?
    2019-07-17
  • Charles
    许老师能概括下,你是怎么教儿童编程的吗?目标已经是让他做生产级应用了吗?谢谢
    2019-07-16
  • 王克
    以前记得微软还是Google想做一件事情,通过超级浏览器集成各种软件,让PC使用者不再安装软件,只需要一个浏览器就完成基本的需要,后来证明这路没有走通。我想大概是因为需求千变万化,一个集中的工具完不成所有的事,而且没有形成标准,开发者加入不了。现在PC的H5推出,兼容web,小程序,移动端,很强大。对于H5,不知道你怎么看?
    2019-07-16
  • Geek_88604f
    如果小孩也能写出生产级的软件,那么码农的未来在哪里?

    作者回复: 挺好的问题,可以问问自己这个问题

    2019-07-16
    2
  • lckfa李钊
    和许老师的观点不谋而合,桌面开发的未来就是少儿编程的未来,未来一定会有更小的开发者入场,所以抢占少儿编程的先机其实就是在深耕未来。
    2019-07-16
  • antipas
    能谈谈您对Fuchsia的看法么,它的优劣?它会是IoT时代的操作系统么

    作者回复: 还没有研究过

    2019-07-16
  • Geek_88604f
    浏览器是如何做到跨平台的,许老师?

    作者回复: 和 Flutter 类似

    2019-07-16
  • Aaron Cheung
    趋势 未来 打卡25
    2019-07-16
收起评论
19
返回
顶部