前端技术选型实战:从成本效率到架构设计的原则解析

46 阅读2分钟

基本前提:成本和效率

实现目标的成本和效率

现实遇到问题

  • 这个技术很好,我先学几个月,然后再动手做
  • 高手什么轮子都是自己造

衡量标准

  • 通过良好的架构设计,能够真正有效的控制整个项目的复杂度
  • 最终产品完成的品质,设计的还原度,可感知效能和稳定性

团队协作的成本和效率

首先你要通过自己的实践,然后调研,你必须要说服团队去用

后续迭代的成本和效率

这个方案它真正的可以提高可维护性,适应产品需求的快速变化和发展

选择的原则

库的选择

  • 扩展语言能力的,Immutable.js
  • 一些基础功能的,Lodash
  • 解决一些兼容问题的,Core-js
  • 还有一些少量成熟的一些组件,iScroll

缩小依赖范围和向稳定方向依赖

妥适性原则

一切要从实际出发,避免过度的去实现,引入一些暂时用不上的机制到项目中,最后项目变得很重。

每多依赖一个库就会增加一些不可控的复杂性。当这个库不稳定的时候,就会发生冲突或者出现一些 BUG。这种问题是在开发过程中会经常碰到,往往一出现这种问题,你是很难去发现和 DEBUG。

奥卡姆剃刀定律

  • 选择的库其实功能越单一越好,一次只做好一件事,不要用一个大而全的库
  • 一个设计得好的库和框架,它接口是很简洁的、很直接的
  • 引入一个库或一个框架,它其实不是为了解决一个问题,它最好能解决一类问题
  • 针对问题的实质,切实有效的解决我的痛点
  • 避免引入很多无形的机制

可替代

依赖反转原则,对它进行解耦

主框架的选择

没有唯一法则

现在世界上没有独一无二的选择。

拥抱未来

确实应该多关注技术发展的趋势。只要是新的技术出来了,那它一定有它的那个点,你不一定非得在自己的项目中去用,但你应该需要扩展自己的技术视野,至少需要去了解它的。

经验价值高

如果当多个选项都满足的情况下,考虑学习和使用某一个框架的经验是不是具有长效价值。

架构上的优势为重

  • 不能看体量和性能这些指标
  • 也不能单纯的考虑学习成本和文档好坏这种东西
  • 主要看它的模式设计上体现的优势