这是我第一次写文章前端
很早就有想写技术博客的想法,但一直都没开始作这件事。
其实在开发的过程当中,把本身遇到的一些问题记录下来,本身悟到的一些心得记录下来,对本身的知识展现与巩固都有很好的帮助。
所以,从此次起,我将会以每周至少一篇技术相关文章来要求本身,但愿早日能成为本身心目中的技术大神。vue
浅谈前端发展的必然性
前端这两年发展很快,而我入行作程序员的时间也只有两年多一些,因此只能是浅谈。
不喜勿喷,多多担待。也想和更多的同行有交流node
其实以我看来前端的发展有很大的必然性,有一些“道”可循。其主要变革我以为都是由于ajax的普及。众所周知,在ajax没有出现以前,表单提交是须要从新请求页面的(原生的from表单submit事件),因此ajax技术的出现解决了这个问题以获得更好的用户体验。这个发展能够说是必然的,毕竟对于程序员来讲有需求就要实现嘛。在ajax全面普及之时咱们发现ajax能够作的更多,能够由页面发起单独请求所需数据,让页面更加的灵活,让页面动了起来~而不是死死的写啥展现啥,有了这个方向的发展,其实先后端就有了分离的可能。react
在互联网用户愈来愈多之后,每一条请求每一条数据都须要服务端来计算,渲染等,服务器须要减负,而减负的方法就是让每一个客户端来处理一些公开的数据处理。这样就能够最好的作到均衡,我客户端只处理一些我本身的事情,也不累,可很快,而服务端就能够大大的提升硬件效率。程序员
在页面端处理愈来愈多的逻辑后,前端的请求愈来愈多,页面中的逻辑计算也愈来愈多。在前端处理愈来愈多的请求,处理愈来愈多的数据之后,每每单张页面也会变得很复杂,很累赘。因此前端工程化模块化也就应运而生了。像如今的主流框架vue、angular、react都是此类优秀的解决方案。ajax
而模块化工程化后,带来了两个问题
1.搜索引擎seo问题。由于不少模块化工程化都十分依赖js,不少都是按需加载,页面中没有许多搜索引擎须要的关键字,这样一来不少对外的,to C端客户的页面被点开的频率就会下降。
2.过多的网络请求下,数据量过多的状况下个人页面被打开的速度大大下降了,因为网络速度的限制以及多条请求的耗时(要知道完成一次先后端互交浏览器与服务器之间是有屡次交流的,可参阅网络请求协议)小程序
为了解决这两个问题,因此就有了SSR。react有next.js vue有nuxt.js 还有许多原生的/node端的SSR解决方案。后端
以上就是我目前想道的前端发展中产生的一些想法。比较笼统,比较大方向。前端工程化
固然,这是一条线下来的,中间还有许多发展分支没有提到,如:
1.先后端分离的node中间岛概念
2.APP相关的hybird混合开发
3.Dcloud、reactNative、ionic之类的直接打包app
4.解决js单线程缘由形成页面卡顿而产生的promise异步方法
5.electron、nw.js之类的桌面应用打包方法
6.手机应用便捷的小程序
...
等等
前端要学习有不少,就以上提到发展来讲你们均可以看到,技术是不断完善的。老是会有问题会出现,也总会有解决办法。程序员不就是一个不断挖坑和填坑的职业么,因此不要在任什么时候候对技术放弃信心,他总会有解决的办法方案,学习再学习promise