现代Web开发教程系列_01

##引言

工作大概9年了,就算不算上在学校里的写网页的经历,其实从事与Web前端有关的开发已经8年。这8年我自己也随着Web开发技术的革新,也在不停地更新这方面的知识体系。最近在想,是时候对目前所掌握的Web开发技术进行一个小结了。于是就有了这个系列的开始,这个系列开篇会概览性地说一下Web开发几个重要的工具或技术,后面则会在以demo示例的方式讲一讲在真实项目中是如何实践它们的。

很多年前,那个时候写前端页面真的很简单,基本上抓起一个编辑器就可以开始写html了,当时页面真的很简单,就是一堆html标签,有个别事件处理,动画效果,几行javascript代码就搞定了。但事实上随着现在Web端开发技术的发展,Web前端页面变得越来越复杂了,甚至还有人十分推崇One Page Application,即在一个页面搞定所有的用户界面交互。后端服务则变得越来越简单了,服务端渲染技术用的人越来越少了,后端基本上就成了提供restful api的server了。

编译工具链

面对Web前端越来越复杂的页面逻辑,以前在页面里随意写javascript代码的方式必须更新了,javascript代码必须被更合理地管理,于是产生了不少前端代码模块依赖系统,比较出名的是cmd, amd, umd。javascript代码被合理地拆分后,面临一个问题,文件过多,而用户浏览网页时不可能等待下载如此多的脚本文件下载,所以必须将拆分后的脚本文件进行合并,合并之后最好还能不影响调试,如果是生产环境最好还能对脚本文件去重、压缩等一系统优化。经过几个项目的实践,我最终还是选择了插件众多,功能强大的webpack作为Web前端代码的编译工具。

界面库

很多年前,我做Web开发也谈不上界面库,一度认为html标准的那些标签就是界面库,抓起来就用。后来发现有时候一些html标签及其附带的javascript代码、css代码频繁重复,于是就想起是应该封装部分组件了,当时Web开发社区里也出现了不少jquery插件,基本上很多功能很复杂的组件都可以封装到一个jquery插件里去,同时也出现了像extjs那样很成体系的前端框架。后来又出现了bootstrap这种前端css框架,写样式更简单了。但一直觉得前端的技术不成体系,一个项目做下来,前端无非是jquery+n个jquery插件+bootstrap样式框架+其它杂七杂八的业务js代码。多个项目做下来,最大的收获就是积累了不少jquery插件的用法,还有了解了不少浏览器的避坑方案。直到发现了React,才发现界面库可以如此简单高效,而且不像extjs那样有超高的约束性。

前端分层框架

我是从java Web开发过来的,很早就知道架构分层的概念,后端很早就有了Controller + Service + Model分层的概念,但前端分层却是从“One Page Application”开始流行才开始,渐渐地MVVM成了前端分层的标配。这方面我倒不是特关心,当然目前与React配合最好的还是redux了。

与后端通讯的技术

最常用的当时是直接发GET, POST请求,稍高级一点采用AJAX方式发GET, POST请求,但如果你能用起来websocket的话,我建议还是可以大量地采用websocket,实时双工是很大的优势。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏嵌入式程序猿

让你的手机顺利访问你的设备

最近一直在看freeRTOS给出的物联网方案是使用Nabto,Nabto是在嵌入式领域目前算是很火的方案,发展也比较迅速,是由丹麦的一家公司开发的,在freeR...

3166
来自专栏IT大咖说

通过QQ浏览器内核看browser性能优化

摘要 QQ浏览器内核架构组负责人,通过QQ浏览器X5内核在加载速度、流畅度方面所做的优化工作,带你了解浏览器内核的工作原理、展示前端优化的指导性原则、以及更佳的...

5045
来自专栏企鹅号快讯

小程序也有“home”键盘了!

微信小程序最近仿佛是消停了一会儿儿,没有深夜袭击,不过还是有不断地小更新,今天就来给大家唠叨两个新变化。 --小程序安卓用户更新 12月22日,微信更新了安卓版...

2435
来自专栏用户2442861的专栏

数据库Sharding的基本思想和切分策略

http://blog.csdn.net/bluishglc/article/details/6161475

1042
来自专栏IT米粉

打造属于自己的博客app——基于react native和博客园接口

关注react native这个技术很久了,去年就做了一个简单的Demo,最近有时间,重新了解了一下react native的现状,发现已经有很大的进步,现在完...

2955
来自专栏WeTest质量开放平台团队的专栏

面向亿万级用户的QQ一般做什么?——兴趣部落的Web同构直出分享

所以可以把直出定义为:“以node作为后端语言实现的服务端渲染并输出HTML字符串到客户端的一项技术”。这样浏览器渲染首屏的过程就由非直出下的先请求HTML,再...

1092
来自专栏安恒信息

旧版Java/ActiveX浏览器插件存安全漏洞,将遭IE屏蔽

虽然微软的IE浏览器在安全性上已经越来越好,但是由于其庞大的普及率及版本参差不齐,因此有许多旧版本的插件也会让新的IE浏览器成为受到攻击的目标。为...

3276
来自专栏腾讯移动品质中心TMQ的专栏

腾讯TMQ在线沙龙|老司机教你玩转Appium自动化测试

Appium自动化测试 活动时间:2016年10月13日 QQ群视频交流 活动介绍:TMQ在线沙龙第十期分享 本次分享的主题是老司机教你玩转Appium自动化测...

3507
来自专栏IT大咖说

一场由React引发的前后端分离架构的思考

摘要 以React技术栈为主分享我们在大规模企业应用建设过程中遇到的问题,对前后端分离架构的思考,前后端分离的技术方案,前后端分离过程中的实践经验,前后端分离带...

1.1K6
来自专栏我和我大前端的故事

入门微信小程序 (一)

小程序已经快两岁的,我才入坑,刚刚入坑那会我使劲和我朋友抱怨,太难了,学不动,不想学,不学了。硬着头皮死磕一遍文档,然后觉得也没有我想象中那么难。或许是因为语言...

2692

扫码关注云+社区

领取腾讯云代金券