Author: 卢珑文
Email: lulongwen@live.com
Wechat: 18915972355
Website: www.lulongwen.com
Github: www.github.com/lulongwen
- 语言
- 框架
- 环境
- 整合技术做项目
- 前端的未来
- 不要把自己局限于前端,做一个解决问题的人,能解决问题就有未来
- **领域驱动设计:**强化领域建模和系统设计能力,力争懂业务、成为领域专家
- 软件架构设计:为系统、框架、类库注入灵魂,让代码有生命力
- 图形技术,在应用、引擎两层都有广阔的场景
- AI
- 关注的技术
- ESbuild 极快的 JavaScript bundler,用 Go 语言编写
- Deno 安全的 JavaScript & TypeScript 运行时
- Figma https://www.figma.com/
- 看书
- 看完一本书要写个总结笔记 & 思维导图
- 写博客
- 写博客的经历 & 感悟
- 自己的独立博客
- 做开源项目
- GitHub start是硬通货
- 写好注释,官网和文档
- 从技术广度和深度来扩充知识体系
- 信息是免费的,但容易消化的知识可以存在附加值
- 教学过程变得富有娱乐性
- 卖的不是信息不对称,快乐学会
- 新旧技术推陈出新,与其到处摸一把,不如深入抓住原理
- SPA & MPA
- single page application 单页面应用
- multi page application 多页面应用
- 异步结构通信
- 纯前端逻辑渲染
- 解耦的前后端协作开发
- PWA
- 渐进式网络应用,离线访问能力
- 可控的静态资源,优化加载速度
- Serverless
- 需求调研
- 产品原型
- UI设计
- 前端开发
- 后端开发
- 云开发
- CI,CD
- 上线运维
- Es6
- Vue
- React
- jsx,createElement
- Html5
- Css3 flex弹性布局
- Webpack
- Nodejs 3. Koa 2. Express 3. Eggjs
- PHP
- Yii
- mysql
- Sequelize
- mysqli
- Go
- 微前端 https://micro-frontends.org/
- 最完善的微前端解决方案 https://qiankun.umijs.org/zh/
- 技术栈无关
- 主框架不限制接入应用的技术栈,微应用具备完全自主权
- 独立开发,独立部署
- 微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步更新
- 增量升级
- 渐进式重构
- 独立运行时
- 每个微应用之间状态隔离,运行时状态不共享
- nodejs
- v8引擎,异步事件驱动
- 广泛应用于前端工具化,代表:webpack, gulp
- npm包
- js模块化规范
- webpack
- 模块打包器,构建工具
- vue-cli
- create-react-app
- eslint
- 代码风格校验, --fix自动修复风格规范
- prettier
- 增强代码美化,多语言支持
- iconfont
- icomoon.io
- 自定义文字图形
- snippets代码段
- emmet
- 框架方面 React 已经是事实上的主流
- 打包工具 Webpack 也是一家独大
- 虽然被人诟病,但是社区生态起来了,想改变就很难
- 语言方面 TypeScript 必然是主流
- Ts的设计初衷是 JavaScript 的超集,由于本身要编译成 JS,这一点本质上限制了 TypeScript 的方向
- Ts 瓶颈:来自社区及 TC39,给 Ts添加一个新特性会非常谨慎
- 怕与 TC39 ES proposal 冲突
- 要考编译到不同版本 JavaScript 的兼容性问题
- TC39 是 JavaScript 发展委员会
- TC39 的成员是涉及 JavaScript 和浏览器供应商的公司
- 包括 Mozilla,Google,Facebook,Apple,Microsoft,Intel,PayPal,SalesForce等
- 每个标准版本提案都必须经过几个阶段
- stage-1:前期设想
- stage-2:正式提案(装饰器所在的阶段)
- stage-3:实现候选
- Stage-4:完成测试
- 各个浏览器 JS 引擎实现;TypeScript 实现
- React 的本质只是一个 UI Library,并不是框架 Framework
- React 本身并不解决 SPA 应用中数据流的问题
- hooks 方案更像是拆了东墙补西墙,因为 Class 臃肿,function 更简单
- 如果你把一个函数里面写上几百行的代码,各种 hooks 用到飞起的时候,你才会回过头来反思如何组织代码。
- 如果 Class 能以一种更好/更易于理解的方式去抽象那为什么不用呢?
- react没解决状态管理的问题,于是就有了 flux架构的 redux
- 框架要解决的问题是系统层面的不是某个抽象层面的
- 很多 JavaScript 类库都没有高效地解决一个问题 架构
- React/Vue/Express/Koa 这些都是相对独立的点,没有一个东西能把他们连接起来形成一个面
- 形成一种框架级别的体系。这就是架构的问题
- 职责分离,单一职责原则
- 模块解耦
- Node.JS 的第三方库太多了
- 不要用 Express/Koa.js 去写大型的后端应用
- 没办法深入下去了。因为当你用 Express 写完一个页面后就面临着各种技术上的盲点,会让你无所适从。
- JavaScript 体系看似前后端通吃,客户端、 服务端甚至桌面端皆有
- 最大的问题在于:没有一个东西能给他们建立起关系并发展成为一种体系
- 前端构建工具问题的本质还是在于 Node.JS 的包管理工具的设计
- Node gyp,node-sass, fsevent 的痛
- 一个简单的 npm install 命令会导致安装成千上万个 npm 包被安装到你的机器上
- 每种编程语言对应的包管理工具都要解决依赖问题
- Go/Rust 这种把源代码编译打包成,单个可执行文件的方式才是好的解决方式。
- CSRF
- XSS