前端——开源前端框架纵横谈.pdf
需积分: 0 170 浏览量
更新于2024-01-02
收藏 915KB PDF AIGC 举报
前端——开源前端框架纵横谈
前端开发的高速发展浪潮中,随着Web应用交互复杂度的提升,前端开发也迎来了高速发展的时期。开源前端框架纵横谈文中,对当前数量繁多的前端框架进行了分析和比较,旨在为大家在选择前端技术架构时提供一些有益的参考。
JavaScript框架和库的多样性来源于Web前端开发的特殊性。从早期的可有可无到今天各种功能完备的HTML5标准,JavaScript在Web应用中的职责和定位经历了巨大的变化。加上长期以来各种浏览器对ECMA标准支持参差不齐的复杂环境,这导致大家对于JavaScript能做什么、该做什么、应该怎么做无法形成共识。
一个Web应用可以把所有业务逻辑全部放在服务器端,几乎不依赖JavaScript;也可以完全用JavaScript构建客户端,服务器只负责数据接口;更有可能选择介于两者之间的折中方案。整体架构选择的多样性使得不同的应用对于前端架构有着截然不同的需求。这意味着很难有一个前端库或框架可以满足所有人,也使得开发者在找不到完美方案的情况下选择重复造轮子。
同时,由于JavaScript是一门相当灵活的语言,不同背景的开发者借鉴了许多不同软件设计思想来构建他们理想中的JavaScript框架,这也导致不同的框架/库在解决同一个问题时经常有不同的方案,例如单页应用的设计模式问题。
框架vs.库
众所周知,在前端开发中对于库(Library)和框架(Framework)的区分向来是有些模糊的。像jQu ery、YUI这些项目的官方描述都是“库”,却经常在各种地方被人们称作“框架”。近两年出现的一些MVC项目号称框架,实际上却更像库。此外,在同样号称框架的各个项目之间所覆盖的功能也都有所不同。传统软件工程对于库和框架的区分主要着眼于对应用运行流程的控制权。框架提供架构,控制运行流程,让开发者在合适的地方书写针对具体问题的代码;而库则附属于架构,不控制运行流程,只提供可调用的函数。
前端开发可能面对的需求
前端开发中最常见的问题大致可以分为:封装原生API和常用任务、基础架构、富应用架构、视觉交互,以及工具链。下面我们逐个分析。
封装原生API和常用任务
JavaScript的原生API存在以下几个问题:
* 对象、方法名烦琐。
* 缺少一些常用任务的语法糖。
* 旧浏览器兼容性不佳。
因此早期的一些框架最主要的目标就是把烦琐的原生API和常用的任务封装成更简洁直观的API,同时,在封装过程中也处理了兼容性问题。jQuery就是解决这一部分问题的典型方案。HTML5和ECMAScript 5标准的出台使得这些问题有所好转。随着新标准的普及,将来对于这一部分功能的需求会逐渐减弱。
基础架构
这一部分通常是各类框架中比较底层的功能,决定了框架的整体架构风格。例如,jQuery的基础架构是基于DOM选择器的,提供了强大的选择器引擎,可以快速地选择和操作DOM元素。
富应用架构
富应用架构是指构建复杂的Web应用时所需的架构,例如MVC、MVVM等。这些架构可以帮助开发者更好地构建和维护大型Web应用。
视觉交互
视觉交互是指Web应用的用户界面和交互部分,例如动画、特殊效果、响应式设计等。
工具链
工具链是指Web应用开发过程中所需的各种工具,例如打包工具、构建工具、测试工具等。
结语
本文对前端框架的分析和比较旨在为大家在选择前端技术架构时提供一些有益的参考。同时,也希望通过本文的分析和比较,可以让大家更好地理解前端框架的发展和趋势。

赵闪闪168
- 粉丝: 1747
最新资源
- 移动交换无线网络联合优化技术研究论文.doc
- 计算机毕业实习报告范文3000字.doc
- C语言函数完整版资料.ppt
- 大专-软件-毕业论文.docx
- 5G网络工程项目招商引资方案.pptx
- 计算机的组成-完整课件.ppt
- 计算机系统的组成课件.ppt
- 暑期教师计算机培训心得体会通用6篇.docx
- 在农综开发资金和项目管理暨科技培训会上的讲话.doc
- 用于SMOS卫星亮度温度L C数据的Octave_Matlab剑形处理器_Octave_Matlab rapit pro
- 数学(人教B版)必修3导学案第1章1-3算法案例——秦九韶算法与排序.doc
- 配电自动化的难点分析及发展现状-广东企业现状倒闭2018.doc
- 网络工程师面试题目合集.doc
- 软件工程实践类的课程体系论文.doc
- 物联网技术在军事领域的应用展望.doc
- PDSTEP项目(冬季)的代码,该项目使用基于CTRNN的控制器在Bullet物理引擎中操作模拟的双足机器人(C),DE