websocket入门学习 目前在看前端的知识点,小程序开发遇到瓶颈,js和vue技术也会,前端全套技术去哪里学?

[更新]
·
·
分类:互联网
2966 阅读

websocket入门学习

目前在看前端的知识点,小程序开发遇到瓶颈,js和vue技术也会,前端全套技术去哪里学?

目前在看前端的知识点,小程序开发遇到瓶颈,js和vue技术也会,前端全套技术去哪里学?

看到js和vue,那就认定你说的前端是Web前端吧。
但我不明白你说的小程序开发遇到瓶颈是指什么?性能瓶颈?知识瓶颈?还是说已经把小程序开发的所有知识点都学习了一遍?如果是这样,那就要进行项目实战。以项目实践为主。
JS和Vue技术也会,是指ES6呢还是啥?或者说JS红宝书你已经看完了,Vue的话,基本上已经到了开发项目很熟练的地步?
入门基础知识要不我直接说下前端技术学习步骤吧
1、学习HTML、CSS、JS语言
2、学习模块化、组件化、Npm、Node.js、WebPack工具
3、学习React、Vue框架
前端入门学习三步,上面三步不包含小程序开发,因为小程序是有自己的调试、打包、运行环境和自己的SDK,基本上算是简化版本的前端开发。
前端框架你说Vue技术也会,说明你直接找到了框架这层,Vue有个好处,就是自带编译工具,当然,你学会了Vue,Npm和WebPack工具应该也是知道了。但Vue有现成的打包方案,我觉得你这块还是花点时间加强下。
另外,我觉得React也是可以发点时间看下的,虽然学习曲线比Vue陡峭点,但毕竟是比Vue的使用人数还多的框架,学习完你也可以总结下两个框架的区别。对自己还是很有帮助的。
浏览器相关另外不清楚你对浏览器的机制了解有多少,比如V8引擎的原理,浏览器任务执行的优先级,事件机制等。
项目相关前端缓存与数据库,建议也了解下,什么情况下用缓存,什么情况下用数据库
Mock的应用也可以了解下
前端单元测试框架也可以了解下,目前前端自动化测试的工具都不怎么好用,可以考虑自己用Node.js写个?
网络相关WebSocket编程,如果你感兴趣,可以学习下,游戏和IM相关都是用这个的
Node.js扩展对了,如果你不想只关注前端,我觉得,Node.js你得好好了解下,这块可以做很多事情,你可以了解下BFF如何做服务于前端的后端,当然,你也可以用Node.js来做一些工具,提供一些Npm包,让前端工程化、组件化更简单快捷
最后编程毕竟是以项目实践为主,一般的知识,都是在项目实践中总结的,或说是在项目中碰到问题,再去寻找解决方案而得到的。

想要成为一个优秀的web前端需要做到哪些?

经过这么多年的发展,软件行业分工已然是越来越精细。就前端这块来说,在HTML5和CSS3出现之前,一般人的理解无非是实现几个页面、再加上一点效果而已(在那时,前端在项目开发中的地位较低);但HTML5和CSS3出现之后,用户交互更加丰富、效果更加酷炫,开始向后端一样向工程化方向发展,前端逐渐从后而脱离出来,前后端分离已然发展成为主流;如今,js的增强版Typescript也有了面向对象特性;Angular、React、Vue已成为前端主流框架,前端开发移动应用和桌面应用也成为了现实,node甚至于可以操作数据和做服务器了,web前端已然形成了与Java、PHP等传统后台同台共舞的形势。
功能越强大,责任也就越重。在前端发展越来越庞大的情况,要作为一个优秀的前端,要做到哪些呢?我一般认为,优秀的前端需要做到三个方面,第一,页面布局和交互,这是前端的立命之本;第二,逻辑处理与实现;第三,快速学习。
01 页面布局和交互页面布局和交互就是要对HTML5、CSS3、JS以及Angular、React、Vue等框架的特性了如指掌(这三个框架或许不需要全部了解),不仅管是用原生的HTML还是框架实现精美的页面效果,并且提供酷炫的交互效果。虽然你可以使用Bootstrap或者Vue对应的一些UI库来实现某一些效果,但你必须要懂得他们的原理,比如栅格布局是封装了什么实现的,UI库为什么可以传参,如何根据自己的想法写一个轮播等等,以便在这些UI库不能满足你的需要时可以自己实现(当然,也有的人说,真男人从不用框架,但我说,好的程序员不会重复造轮子)。
02 逻辑处理与实现前面提到,现在前后端分离已是历史必然。在前后端分离的开发模式下,前端与后端通过ajax、Websocket等方式进行数据交换。现在的大趋势是越来越多的逻辑处理会放到前端来处理(比如就有程序员跟我抱怨,后端总想把尽量多的东西放到前端来做),最简单的例子,一些数据格式放到前端来转换、一些数据的判空从前端就开始做。
前面说,Node已然可以用来开发服务器操作数据库了,业务的实现基本就是纯粹的逻辑处理与实现。除此之外,还有很多其他的东西,详见下面这张前端图谱。
03 快速学习其实软件行业的技术发展都很快,可谓日新月异,因此必须要不断学习新的技术和新的模式,不断提升自己,使用更先进的技术构建更完善的系统。如果有可能的话,还要能对前端的发展做一些自己的贡献。
以上就是我的一些拙见,欢迎大家在评论区一起交流。