许式伟的架构课
许式伟
七牛云CEO
立即订阅
20066 人已学习
课程目录
已更新 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 | 接口设计的准则
许式伟的架构课
登录|注册

33 | 桌面开发篇:回顾与总结

许式伟 2019-08-16
你好,我是七牛云许式伟。
到今天为止,我们第二章 “桌面开发篇” 就要结束了。今天,让我们对整章的内容做一个回顾与总结。本章我们主要涉及的内容如下。
这一章的内容主要分为三类。
一类是基础平台,也就是上图中的浅绿色背景部分,谈的是 Native 桌面操作系统和浏览器的演变过程。
一类是业务架构,也就是上图中的浅棕色背景部分,谈得是如何开发一个桌面软件。
最后一类是实战,也就是上图浅黄色背景部分,我们以画图程序作为例子谈业务架构,并对需求进行了多次的迭代。
通过本章的内容,我们总结一下桌面开发的特点。
首先从基础平台看。它的特点是:种类多、迭代快、知识有效期短。让桌面开发工程师(大前端)痛苦的是,时不时就有各种新平台、新语言、新框架冒出来,让人应接不暇。
其次从要开发的产品本身看。它的特点是:需求多、迭代快。桌面开发(大前端)负责的是和活生生的个体打交道,我们的开发人员需要为了功能丰富,体验便捷做各种努力。
为了让产品有竞争力,很多团队的发布周期都是至少一个月迭代一个版本,有的甚至是一周发布一个版本。而 Web 前端就更夸张了,一些公司甚至没有统一的发版概念,只要某个功能产品经理验收了,测试验收了,就可以发。
最后我们从对程序员的技能要求看。它的特点是门槛极低,但天花板又极高。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《许式伟的架构课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(14)

  • 靠人品去赢
    关于对人加班以及门槛低天花板高的总结,简直真实的一匹。
    2019-08-16
    2
  • Bachue Zhou
    好难忍受说 JS 是当前桌面开发的第一大语言,以前 Java 写的桌面应用我都很难忍受它的性能了,更不要说是 JS 写的桌面应用了。

    作者回复: github的第一大语言是js

    2019-10-18
    1
  • 风林
    小公司前端,可以说没有架构可言,代码只求实现功能,需求一有变化会很难维护和扩展,领导和同事也不重视,自己也没相关经验也不知怎么搞,许老师能给些建议吗

    作者回复: 功夫花在前头,不要匆忙编码

    2019-08-19
  • CALL ME
    很期待后续的内容,感谢前辈的付出。
    2019-08-18
  • 亚宁
    许老师,辛苦了。
    2019-08-18
  • Jian
    从需求着眼,讲到技术的发展,揭示了造成前端技术现状的原因。层层递进,最后还推销了一把Geek的课程----简直润物细无声,老师注定要成为---技术布道人
    2019-08-17
  • leslie
    前进中提升:做这行停不下来的事情只有学习和实践;跟着课程一起学习、实践,提升自己的实力。
    2019-08-16
  • 许童童
    跟着老师一起精进。
    2019-08-16
  • Smallfly
    辅助元素的多实例设计应该怎么理解,比如说相同样式的辅助元素,只是数据源不同,是否需要多实例呢?(在辅助元素不会同时显示的前提下)

    不是特别理解多实例和应用架构之间的具体关系。

    作者回复: 如果应用存在单例性质的全局变量,就比较难做到多实例。

    2019-08-16
  • Aaron Cheung
    打卡33 详实的总结
    2019-08-16
  • 义明
    老师,关于go语言常用的几种设计模式有介绍吗?如果编写游戏服务端相关的项目是否有开源项目可以参考?

    作者回复: 一般设计模式是领域性的,和语言关系不大。游戏领域我关注不多。

    2019-08-16
  • 海贼王
    老师您这么多年肯定有好多经验,晚辈想向您请教,面对未知的流量暴增,可以预先怎么处理????

    作者回复: 这个后面服务端开发会涉及

    2019-08-16
  • 黄强
    从头跟到现在最有感触的还是许老师的那句,思考中记忆,一边看一边思考一边梳理这10几年来的经历,感触良多,收获良多,谢谢许老师!
    2019-08-16
  • 被讨厌的勇气
    咦,参考资料怎么没Qt呢?
    2019-08-16
收起评论
14
返回
顶部