跨平台与 Web 开发

第112篇

极客时间《许式伟的架构课》课程笔记。

跨平台桌面程序开发

会导致桌面开发产生巨大差异性的两个关键因素

1、操作系统

  • 不同的操作系统抽象的界面程序框架并不一致,不一致必然导致开发工作量的增加
  • 放弃某个操作系统,就意味着放弃某个流量入口,也就意味着放弃这些用户

2、屏幕尺寸

  • 相同操作系统在不同尺寸屏幕上的交互范式也会存在很大差异性

操作系统
PC 本地:Windows,macOS,Linux 等等;
PC Web:Chrome,Safari,FireFox 等等;
Mobile 本地:Android,iOS 等等;
Mobile Web:小程序,PWA 等等

屏幕尺寸
大屏:PC、笔记本,Pad 等等;
中屏:手机;
小屏:手表。

跨平台解决方案

跨平台解决方案

Web开发

B/S 架构的复杂性

  • 多用户:用户数据不再保存在client(Browser)端,而是存在server端
  • 更高的数据可靠性要求:数据在server端之后,数据的可靠性由软件厂商负责
  • 更多可能的分工安排:web应用两大流派,胖前端和胖后端

客户端和服务端

  • 客户端也就是浏览器端,浏览器界面框架没有窗口系统,通过HTML+CSS描述界面
  • HTML+CSS可以理解为viewmodel层,因为 HTML DOM 从数据角度完整描述了界面的样子, View 层已经被浏览器自己实现了
  • MVC框架在浏览器下变成了MVMP模式,全称为 “Model-ViewModel-Presenter”
  • 事件响应过程:浏览器的 View 收到交互事件,事件委托(delegate)给 ViewModel 层,并且通过 HTML DOM 暴露出来。通过修改 HTML 元素的事件响应属性,一般名字叫 onXXX(比如 onclick),可以获得事件的响应机会
  • Model 层的数据变化(DataChanged)事件:在标准的 MVC 模式中,Model 层的数据变化是通知到 View 层,但在浏览器下 DataChanged 事件由 Presenter 层更新界面(Update View),操作的是 ViewModel
MVMP模式
  • Server 端最底层的是一个多租户的 Model 层(Multi-User Model),它实现自动化(Automation)所需的 API
  • Multi-User Model 层之上是 Web 层。Web 层基于会话(Session-based),因为它负责用户的接入,每个用户登录后,会形成一个个会话(Session)
  • Web 层又分为 Model 层和 ViewModel 层。 也叫Session-based Model和 Session-based ViewModel
  • 在服务端,Session-based Model 和 Session-based ViewModel 并不发生直接关联,它们通过自己网络遥控浏览器这一侧的 Model 和 ViewModel,从而响应用户的交互
  • Session-based Model 是 Multi-User Model 层的转译。把多租户的 API 转译成单租户的场景
  • Session-based ViewModel 是一些 HTML+JavaScript+CSS 文件,是真正的 Web 业务入口
Server端架构
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容