Open PerfectPan opened 2 years ago
https://developer.chrome.com/blog/inside-browser-part1/
4 篇文章讲述了浏览器整个运作的流程,browser 进程处理非 Tab 页相关的事情,一个 Tab 页一个 render 进程,用户的交互事件会通过 browser 进程分发到 render 进程的合成线程,如果页面有绑定相关事件,会由合成线程通知主线程去做梳理,这之前还要进行一次碰撞检测(Hit Test)去确认具体的元素。
综合来看这些「声明式」语言有以下优点:
而这些语言的缺点是:
低代码都是一种「声明式」编程,因为只有声明式才能可视化编辑,而可视化编辑是低代码唯一不可少的功能。
低代码的优缺点其实来自于「声明式」本身。
编写代码是一种抽象思维,因此并不适合可视化,导致低代码只能面向特定领域,复杂应用需要和专业开发配合。
前端界面的 HTML+CSS 可以认为是一种低代码 DSL,因此界面的低代码比较容易实现,只需要在 HTML+CSS 基础上抽象一层。
后端存储的低代码有几种方案,但没有哪个方案是完美的,它们都有各自的优缺点,这将决定一个低代码平台的适用范围,建议在选型时重点关注。
面向对象编程的弊端是什么?
封装 继承 多态 前两者是属于战略的东西,后者是属于战术的东西
核心是封装和归一化,归一化可以简化使用者的处理逻辑,封装可以让各模块各司其职
面向对象好处:
显然,不用面向对象语言、不用class,一样可以做归一化的设计(如老掉牙的泛文件概念、游戏行业的一切皆精灵),一样可以封装(通过定义模块和接口),只是用面向对象语言可以直接用语言元素显式声明这些而已;
而用了面向对象语言,满篇都是class,并不等于就有了归一化的设计。甚至,因为被这些花哨的东西迷惑,反而更加不知道什么才是设计。