从后端到前端的转变:如何选择框架?


从后端到前端的转变:如何选择框架?

文章插图
 
作者|Mike Taylor
译者|薛命灯
单页面应用程序(SPA)的异步 JAVAScript 为改善 Web 应用程序的用户体验提供了绝佳的机会 。css 框架(如 Bootstrap)使得开发人员能够在处理结构和行为时快速提供样式 。
可惜的是 , SPA 和 CSS 框架提供的解决方案都相对复杂 , 传统上分离的关注点(如 html 结构、CSS 风格和 JS 行为)被理所当然地混合在一起 , 这与前几代人吸取的教训背道而驰 。
这种关注点的混合可能会阻碍入门级开发人员和有价值的专家(例如视觉设计、可访问性、搜索引擎优化和国际化)对项目做出有意义的贡献 。
除了让少数能够处理所有这些问题的开发人员的成本不断增加之外 , 它还可能给其他现实世界的业务带来影响 , 例如诉讼、零增长、无法转向、错失机会、招聘和人员配置问题 。
当可维护性问题浮出水面时 , 一个看似谨慎的技术决策也可能会导致长期的成本 。
出现这种趋势的潜在原因是传统后端开发人员向前端转型与 Web 应用程序从服务器端到客户端转变相吻合 。为了弥补自己的不足 , 这些新进入者引入满足自身需求的工具和实践 , 但没有考虑到整个组织 。
如果你只需要 CSS 框架提供的前期价值 , 建议你不要直接将它们加入到应用程序中 。相反 , 可以将它们作为为特定业务语言而设计的内部 CSS 框架的装饰器 。
在 SPA 框架方面 , 建议采用强制分离关注点的编码实践 。这个目标可以通过 React 来实现 , 但 Vue.js 提供了一种更好的方法 , 可以与传统的前端开发人员进行更好的协作 。
序幕2014 年 , 我进入了不列颠哥伦比亚理工学院(BCIT)的网页设计专业 。完成学业后 , 我被学校找去给他们的在线学习课程帮忙 。当他们告诉我可以使用 Twitter 的 CSS 框架 Bootstrap 时 , 我非常兴奋......
但这种兴奋感很快就消失了 。在用了它之后 , 我不禁怀疑为什么我们一定要用它 。隐含的 class 名称和<div>标签的自由使用似乎将所有逻辑都塞到 HTML 中 。很快 , 随着其他职能小组疲于应付新的开销成本 , 开始出现抱怨的声音 。
我们团队制作的在线课程最终将会交到商业、媒体、护理、建筑等非技术导师的手中 。如果他们无法弄明白 , 就会致电 Ed-Tech Support 。如果 Ed-Tech 无法解决问题 , 那么这些工作就会重新回到我们的手里 。
这是灾难性的 , 因为我们人手不足 。教师们都很紧张 , 需要支持的问题堆积如山 , 我们的团队成了学生通过课程的瓶颈 。
从后端到前端的转变:如何选择框架?

文章插图
 
 
我们被这些框架的易用性承诺所吸引 , 但事实证明 , 这些承诺大都停留在表面 。Bootstrap 导致我们付出很多努力却没有获得多少回报 。我们掉入了伪装的维护陷阱 。
经过几个月的挣扎之后 , 团队开始着手创建一个基于极简主义的自定义框架(或者更确切地说是剔除 HTML 所有的复杂性) 。一个使用在线学习专用术语构建超级干净代码的解决方案 。
我们最终得到了一个广受欢迎的产品 , 尽管它(和我)今天仍然要承受政治小轰炸 。除了完全消除了维护问题 , 还提高了整个在线课程的质量和效率 。
最重要的是 , 我们的团队不再是个瓶颈 。
从那以后 , 我对前端工具及其猖獗的扩散变得更加警惕 。我担心的是 , 采用这些工具是为了它们的实现者的利益 , 而不是为了整个组织的利益 。我不禁想:
很多现代前端工具和实践只是伪装的技术债务吗?
历史异步 JavaScript
2005 年 , 谷歌推出谷歌地图 , 震惊了全球 。拖动屏幕 , 磁贴就会一个接一个进入视野 。
从后端到前端的转变:如何选择框架?

文章插图
 
 
对于大多数来说 , 这是他们第一次体验 AJAX 的强大力量 。这是一个“杀手级应用” , 它证明了客户端应用有潜力提供非常优秀的用户体验 。这是我们朝着现代单页应用程序(SPA)迈进的重要一步 。


推荐阅读