Open HolyZheng opened 6 years ago
作者:holyZheng 转载请注明出处
web应用是一种运行在浏览器中的软件,这些软件的图形用户界面(Graphical User Interface, 即GUI)称为前端。(前端是一种GUI应用)
早期,前后端开发是一体的,网站开发采用后端为主的mvc模式,前端相当于后端的view层。前端的主要工作是编写页面模板,后端代码根据浏览器请求,读取模板,替换变量,生成静态页面,发送给浏览器。
AJAX不是JavaScript的规范,Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求。
2005年 Ajax 正式提出,前后端分工逐渐清晰,前后端协作的关键是Ajax接口。前端不再是后端的模板,前后端分离,网页也从静态网页转为动态网页。前端开始逐渐复杂。
为了降低前端开发的复杂度,出现了大量前端MV*框架比如Backbone,KnockoutJS、AngularJS 等等,对代码进行合理的分层,如models,controllers,view,viewmodel等,让代码各施其职。
随着前后端分工的清晰,前端工作的复杂度的增高,开始出现了前端工程化的概念,前端工程化分为几个阶段
比如grunt,gulp,对网站资源进行优化如代码压缩,校验,资源合并,对简化前端开发中很多复杂重复的工作,提高开发效率,和执行运行性能。
js的模块化方案很多,如AMD/CommonJS/ES6 Module等 css的模块化主要是靠less,sass,stylus等预处理器的import/mixin来支持实现 模块化打包工具webpack,parcel,browserify等等
模块化的主要思想在于分而治之,是复杂系统开发和维护的基石。将一个复杂的应用,分成多个更小的部分进行开发与维护,最后再由每一个模块相互作用构成我们的整个应用。 组件化和资源管理 组件化也是对分治思想的一种实践,前端作为一种GUI软件,在大型应用中还需要对ui进行组件化开发
模块化的主要思想在于分而治之,是复杂系统开发和维护的基石。将一个复杂的应用,分成多个更小的部分进行开发与维护,最后再由每一个模块相互作用构成我们的整个应用。
组件化也是对分治思想的一种实践,前端作为一种GUI软件,在大型应用中还需要对ui进行组件化开发
目前大多数的前端应用都是远程部署,运行时增量下载的GUI软件 由“增量”原则引申出的前端优化技巧几乎成为了性能优化的核心,有加载相关的按需加载、延迟加载、预加载、请求合并等策略;有缓存相关的浏览器缓存利用,缓存更新、缓存共享、非覆盖式发布等方案等等 有关前端工程化更详细的了解可到 前端工程 了解
随着nodejs的出现,JavaScript的覆盖范围扩大,大前端的概念也开始出现。大前端的原始定义可以定义为前端技术的扩大化。再后来react native的出现,JavaScript的覆盖范围再一次扩大,拥有了开发跨平台app的能力,大前端的概念进一步加深。 前端的工作不再局限于“前端”,必要时时兼顾后端和移动端开发。
所以我认为现在的前端应该具备的技术有:
联系方式:zhenghaoli1996@gmail.com 出生年份:1996 学历:本科(华南师范大学) 目前任职于网易邮件事业部,担任前端开发工程师。主要复杂webmail邮箱相关模块维护和业务活动开发。
工作经历 一、2019年7月-今 ,网易邮件事业部
cma
邮箱会员业务开发(问题,解决方法?)
积极配合esm化(问题,解决方法?)
技术分享活动
作者:holyZheng 转载请注明出处
什么是前端
web应用是一种运行在浏览器中的软件,这些软件的图形用户界面(Graphical User Interface, 即GUI)称为前端。(前端是一种GUI应用)
前后端不分离时代 web1.0
早期,前后端开发是一体的,网站开发采用后端为主的mvc模式,前端相当于后端的view层。前端的主要工作是编写页面模板,后端代码根据浏览器请求,读取模板,替换变量,生成静态页面,发送给浏览器。
Ajax技术诞生 web2.0
2005年 Ajax 正式提出,前后端分工逐渐清晰,前后端协作的关键是Ajax接口。前端不再是后端的模板,前后端分离,网页也从静态网页转为动态网页。前端开始逐渐复杂。
前端mv*
为了降低前端开发的复杂度,出现了大量前端MV*框架比如Backbone,KnockoutJS、AngularJS 等等,对代码进行合理的分层,如models,controllers,view,viewmodel等,让代码各施其职。
前端工程化
随着前后端分工的清晰,前端工作的复杂度的增高,开始出现了前端工程化的概念,前端工程化分为几个阶段
构建优化
比如grunt,gulp,对网站资源进行优化如代码压缩,校验,资源合并,对简化前端开发中很多复杂重复的工作,提高开发效率,和执行运行性能。
模块化
js的模块化方案很多,如AMD/CommonJS/ES6 Module等 css的模块化主要是靠less,sass,stylus等预处理器的import/mixin来支持实现 模块化打包工具webpack,parcel,browserify等等
静态资源管理
目前大多数的前端应用都是远程部署,运行时增量下载的GUI软件 由“增量”原则引申出的前端优化技巧几乎成为了性能优化的核心,有加载相关的按需加载、延迟加载、预加载、请求合并等策略;有缓存相关的浏览器缓存利用,缓存更新、缓存共享、非覆盖式发布等方案等等 有关前端工程化更详细的了解可到 前端工程 了解
大前端
随着nodejs的出现,JavaScript的覆盖范围扩大,大前端的概念也开始出现。大前端的原始定义可以定义为前端技术的扩大化。再后来react native的出现,JavaScript的覆盖范围再一次扩大,拥有了开发跨平台app的能力,大前端的概念进一步加深。 前端的工作不再局限于“前端”,必要时时兼顾后端和移动端开发。
总结
所以我认为现在的前端应该具备的技术有: