许式伟的架构课
许式伟
七牛云 CEO
84945 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 89 讲
许式伟的架构课
15
15
1.0x
00:00/00:00
登录|注册

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

以画图程序作为例子谈业务架构,并对需求进行多次迭代
如何开发一个桌面软件
Native桌面操作系统和浏览器的演变过程
Android、iOS开发资料
PWA和WebAssembly
Flutter和SwiftUI
React和Vue
微信小程序
JavaScript
分解业务系统,关注系统如何被有效地串联起来
选择操作系统、语言、主框架、基础设施
关注全局性风险,保证项目可以按时、按质、高度并行化地被执行
探讨了辅助界面元素和控件的架构
重要性
技术演进目标是门槛越来越低,和儿童编程教育相向而行
对程序员的数量需求极大
门槛极低,但天花板极高
发布周期至少一个月迭代一个版本
需求多、迭代快
桌面开发工程师需应对各种新平台、新语言、新框架
种类多、迭代快、知识有效期短
实战
业务架构
基础平台
下一讲进入第三章:服务端开发篇
学业务架构最好的方式是:“做中学”
参考资料
系统的概要设计
实战案例
桌面开发的未来趋势
技能要求
产品特点
基础平台特点
桌面开发特点
结语
桌面开发篇内容总结

该思维导图由 AI 生成,仅供参考

你好,我是七牛云许式伟。
到今天为止,我们第二章 “桌面开发篇” 就要结束了。今天,让我们对整章的内容做一个回顾与总结。本章我们主要涉及的内容如下。
这一章的内容主要分为三类。
一类是基础平台,也就是上图中的浅绿色背景部分,谈的是 Native 桌面操作系统和浏览器的演变过程。
一类是业务架构,也就是上图中的浅棕色背景部分,谈得是如何开发一个桌面软件。
最后一类是实战,也就是上图浅黄色背景部分,我们以画图程序作为例子谈业务架构,并对需求进行了多次的迭代。
通过本章的内容,我们总结一下桌面开发的特点。
首先从基础平台看。它的特点是:种类多、迭代快、知识有效期短。让桌面开发工程师(大前端)痛苦的是,时不时就有各种新平台、新语言、新框架冒出来,让人应接不暇。
其次从要开发的产品本身看。它的特点是:需求多、迭代快。桌面开发(大前端)负责的是和活生生的个体打交道,我们的开发人员需要为了功能丰富,体验便捷做各种努力。
为了让产品有竞争力,很多团队的发布周期都是至少一个月迭代一个版本,有的甚至是一周发布一个版本。而 Web 前端就更夸张了,一些公司甚至没有统一的发版概念,只要某个功能产品经理验收了,测试验收了,就可以发。
最后我们从对程序员的技能要求看。它的特点是门槛极低,但天花板又极高。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

桌面开发篇:回顾与总结 本文回顾了桌面开发的基础平台、业务架构和实战经验,并展望了未来趋势。在基础平台方面,桌面开发工程师需要面对多样的平台、快速的迭代和短暂的知识有效期。业务架构方面,桌面开发需要应对多样的需求和快速的迭代,以保持产品的竞争力。文章还探讨了桌面开发的演变历程,从单机软件开发到Web应用的出现,以及桌面开发的未来趋势。通过实战案例,深入探讨了桌面开发的架构逻辑和系统设计。此外,列举了一些值得关注的技术,包括JavaScript、微信小程序、React、Vue、Flutter、SwiftUI、PWA和WebAssembly等。总的来说,桌面开发在面对多样的平台和需求、快速的迭代以及技术的不断演进时,需要开发工程师具备较低的门槛和高水平的技能。通过回顾和总结,为读者提供了对桌面开发领域的宏观了解和技术指引。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《许式伟的架构课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(17)

  • 最新
  • 精选
  • 大土豆
    桌面开发真的上限高吗?那为啥CTO一般都是服务端开发呢?

    作者回复: 因为分布式的能力看得见,复杂业务的掌控力不容易看得见

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

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

    2019-08-19
    1
  • Smallfly
    辅助元素的多实例设计应该怎么理解,比如说相同样式的辅助元素,只是数据源不同,是否需要多实例呢?(在辅助元素不会同时显示的前提下) 不是特别理解多实例和应用架构之间的具体关系。

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

    2019-08-16
    1
  • Bachue Zhou
    好难忍受说 JS 是当前桌面开发的第一大语言,以前 Java 写的桌面应用我都很难忍受它的性能了,更不要说是 JS 写的桌面应用了。

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

    2019-10-18
    2
  • 义明
    老师,关于go语言常用的几种设计模式有介绍吗?如果编写游戏服务端相关的项目是否有开源项目可以参考?

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

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

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

    2019-08-16
  • 靠人品去赢
    关于对人加班以及门槛低天花板高的总结,简直真实的一匹。
    2019-08-16
    11
  • 不温暖啊不纯良
    深刻体会老师所说的做中学,今天花了大半天时间把v27版本抄了一遍,最后想在加一个文本输入的功能,mvc的基本思想体会到了一些,在读代码的时候会觉得很有边界感,现在还没搞好,反正也不着急,闲了就琢磨一下,写的过程中还能学习一下前端知识。
    2021-04-19
    4
  • 黄强
    从头跟到现在最有感触的还是许老师的那句,思考中记忆,一边看一边思考一边梳理这10几年来的经历,感触良多,收获良多,谢谢许老师!
    2019-08-16
    2
  • Jian
    从需求着眼,讲到技术的发展,揭示了造成前端技术现状的原因。层层递进,最后还推销了一把Geek的课程----简直润物细无声,老师注定要成为---技术布道人
    2019-08-17
    1
收起评论
显示
设置
留言
17
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部