从未写过年度总结,恰逢今年是变化较大的一年,所以需要有一个总结仪式。同时希望在未来的每一年都能有一次年度总结,看看当前走过的路,也回望以往的不足。毕竟,前端一世,草木一秋。

关于我的年度总结,这里主要分为以下几个模块(文章篇幅很长,大家可以按需阅读):

  • 技术 - 自我技术方面的创新以及实践

  • 学习 - 2019的学习内容及前端新认知,分享学习方法

  • 招聘 - 阿里招聘感受,希望对想入职阿里的同学有所启迪

技术

今年是技术成长最多的一年,也是自我转变最快的一年。技术创新的关键词是「UI框架/脚手架」和「低代码(Low Code)」,技术实践的关键词是「桌面端」。

UI框架/脚手架设计

今年年初的主要工作是对基础组件库进行框架重构以及对业务组件库进行框架设计,这是自我感觉最快乐的时光。

UI框架重构前提

公司现有的基础组件库1.x基于Element UI框架设计,在开发过程中发现以下问题:

  • 样式实现不够优雅,维护成本高

  • 组件扩展性较差

  • 按需加载支持不够完善

  • 国际化方案存在缺陷

  • 单元测试覆盖不全

基础组件库的框架重构

研究了Element UI框架设计后,对组件库进行了框架重构设计,重构成2.x版本后的框架特性:

  • 模块化设计 - 更好的代码组织和维护性

  • 增强的按需加载 - 更小的打包体积

  • 完善的国际化 - 灵活的本地化方案

  • 完整的TypeScript支持 - 更好的开发体验

  • 增强的单元测试 - 更高的代码质量

业务组件库的框架设计

为了解决跨BU通用业务场景诉求,采用Lerna + Vue CLI 3.x + Webpack + Babel进行业务组件库框架设计,具备以下特性:

  • 多包管理 - 独立的版本控制和发布

  • 灵活的构建系统 - 支持多种构建方式

  • 统一的开发规范 - 保证代码质量一致性

  • 完善的文档系统 - 便于组件使用和维护

UI脚手架的设计

基于Vue CLI 3.x插件化开发方式,抽离了一套UI脚手架,特性包括:

  • 一键生成 - 快速创建新组件库

  • 标准化配置 - 统一的技术栈和开发规范

  • 自动化流程 - 集成开发、校验、构建和测试

  • 可扩展性 - 支持自定义配置和插件

低代码(Low Code)设计

低代码解决方案源于业务诉求,主要经历以下阶段:

  1. 需求分析 - 明确业务场景和技术要求

  2. 方案设计 - 架构设计和技术选型

  3. 核心实现 - 可视化搭建和代码生成

  4. 集成测试 - 功能验证和性能优化

  5. 部署上线 - 生产环境部署和监控

桌面端开发

年末开始接触桌面端开发,主要经历阶段:

  • 技术调研 - 各种桌面端开发方案对比

  • 框架选型 - 基于业务需求选择合适方案

  • 开发实践 - 实际项目开发和优化

  • 性能优化 - 提升用户体验和运行效率

现有PC桌面端开发框架对比
桌面客户端类型 比喻 特性
纯Native开发 汽车 性能好、安装包小、XP兼容性好、开发周期长
纯Web开发 电动车 跨平台、性能相对较差、内存占用高
Hybrid混合开发 油电混合动力车 安装包大、性能折中、跨平台、快速迭代
优化现有CEF开发框架

公司现有桌面端采用CEF多容器隔离框架,存在以下问题:

  • 应用间通信复杂

  • 资源复用性差

  • 性能优化困难

  • 开发效率低下

新的框架设计改进:

  • 统一通信机制 - 简化应用间数据交换

  • 共享资源管理 - 提高资源利用效率

  • 性能监控体系 - 实时监控和优化指导

  • 开发工具链 - 提升开发体验和效率

应用开发规范约束
  • 代码规范 - 统一的编码风格和质量标准

  • 组件规范 - 可复用的组件设计和开发

  • 测试规范 - 完善的测试覆盖和质量保证

  • 文档规范 - 清晰的文档说明和使用指南

学习

2019学习重点

源码解读

正确的源码学习态度:

  • 目的明确 - 不是为了炫耀,而是为了解决问题

  • 循序渐进 - 从简单到复杂,从使用到原理

  • 实践结合 - 边读边实践,加深理解

  • 总结分享 - 整理笔记,分享收获

算法学习

基于《算法导论》等资料创建的JavaScript算法学习教程,内容包括:

第一章:算法基础

  • 插入排序

  • 算法分析

  • 算法设计

第二章:函数的增长

  • 渐近符号

  • 标准记号和常用函数

重拾React

从Vue转React的体会:

  • 设计理念 - React更函数式,Vue更声明式

  • 学习曲线 - Vue入门更简单,React概念更多

  • 生态系统 - 两者生态都很丰富

  • 适用场景 - 根据团队和项目需求选择

前端学习方法

系统学习路径
  1. 基础夯实 - HTML/CSS/JavaScript基础

  2. 框架掌握 - 主流框架原理和使用

  3. 工程化 - 构建工具和开发流程

  4. 性能优化 - 各种优化方法和实践

  5. 跨端开发 - 多平台开发技术

  6. 新技术探索 - 保持技术敏感度

学习资源

书籍推荐

  • 《JavaScript高级程序设计》

  • 《CSS世界》

  • 《Vue.js设计与实现》

  • 《React状态管理与同构实战》

实践方法

  • 边学边练,理论结合实践

  • 参与开源项目,积累经验

  • 写技术博客,总结分享

  • 参加技术社区,交流学习

招聘感悟

简历评估标准

基本信息筛选

  • 学历背景

  • 工作经历

  • 技术栈匹配度

  • 项目经验相关性

深度评估维度

  • 技术深度和广度

  • 项目贡献和价值

  • 学习能力和成长性

  • 沟通表达和团队协作

硬性指标

  • 工作年限要求

  • 技术能力底线

  • 薪资期望匹配度

  • 入职时间可行性

面试建议

面试前准备

  • 深入了解目标公司和岗位

  • 复习基础知识和项目经验

  • 准备有深度的问题提问

  • 保持良好的身心状态

面试中表现

  • 清晰表达技术思路

  • 诚实面对知识盲区

  • 展示解决问题能力

  • 体现团队协作精神

影响面试结果的因素

  • 技术基础扎实程度

  • 项目经验和技术深度

  • 学习能力和成长潜力

  • 沟通表达和逻辑思维

  • 文化契合和职业态度

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐