前端怎么一步步走向全栈呢?
第一步,定义前端; 第二步,定义全栈; ……
每天坚持前后端代码都看、都写 分享下我的开源项目, golang123 是使用 vue、nuxt、node.js 和 golang 开发的知识分享系统 网址: https://www.golang123.com/ Github: https://github.com/shen100/golang123
好好学好 Node,动不动就全栈,其实会的东西仅仅全干。
哦。谢谢
哦。谢谢
那么。通常情况下,node需要学习到什么底部呢
可以看我的项目: https://github.com/vellengs/typerx typerx 是一个全栈的项目,如果你正在研究最新版本的angular, 研究组件如何使用,研究 antd 和 ng-zorro 和主题 ng-alain 如何使用。 这是一个很好的项目开始,大多时候、我们能看到的前端只是前端,前端和后端的交互是缺失的,我的这个项目能更好的弥补这些。 typerx 也提供一个标准的接口描述层,如果你是一个前端,你只要定义下你模型和接口描述,你便很容易的实现后端的模拟。 typerx 也提供一套基本能使用的基础功能,如系统设置、用户管理、系统菜单、用户权限、操作日志等,你可以基于这个基础功能构建你的应用。
前端需要能把控接口层还是很重要的,所以 typrex 的中心是swagger 标准的接口层,这样可以分离切换前后端,你愿意可以很容易生成现成的前端或者后端接口代码。
哥们,我以前的目标也是全栈,觉得全栈什么都能干,666的,所以经常学这个学那个,杂七杂八的,ios、前端(一大堆略)、node、Python、go、java等,后来才发现,其实我学的都只是皮毛,什么都会,什么都不精。其实现在互联网不是以前的时候了,一个人可以撑起真个项目。每一个领域如果真的想做好的话,很难,并不是会写某个领域的代码就够了,比如前端,要精于前端的架构设计,性能优化,熟知js各种版本、ts、jsx、各种框架、工具、http、tcp、udp、scoket等这些还只是常见的,还有未来也是webAR的大前端时代,three.js等框架和原理也都是要会的,要知道webgl的渲染原理和条件(灯光、场景、相机、材质、贴图等的设计),当然,由于这些只是我所知道的,还有很多我不知道的。再说后端,也不是会写代码就够了,也要用基本的架构设计、oop,常用的一些设计模式(单例、工厂、代理)等,还有代码的可用性、容错率,接口和数据库的数据安全性(最常见的防止跨站脚本(sql)注入攻击,跨站伪造请求, DDoS等),线程、进程、服务器间数据通讯,这些还只是基本的代码层面上的,还要考虑服务器的高并发可用性、容灾性、可伸缩性。虽然只是简单的几个字概括了,但是其中要做的事情确很多,小到简单的单机负载、多机集群、数据库主从复制、读写分离,再到各种集群(redis、mysql、mongodb)间读写分离、主从切换,并发消息队列处理,再到微服务的构建。这还只是前端和后端基本的东西,还没算移动端的,比如基本的熟知各种控件、线程调度、runtime运行机制等。所以,全栈不如专于某个领域,对这个领域研究、理解透彻才是正道,全栈?不存在的~
@YOMAMH 你的全栈理解偏了哈,按你说的是要搞全能了,我想楼主想的是工作技能有瓶颈了,需要拓一拓。 我的建议是现有手上的工作上拓宽上下左右,这个上下左右是怎么说呢:
- 从浏览器/服务器方面扩展,能自己拿捏接口,数据模型,这样就有主动权,能把手上的工作做的更好(看自己的时间精力的充裕性决定深入的程度)。
- 从原来的技术栈上发展到上游去,了解前端组件的编写,尝试自己写一些常用的UI组件。
- 加强基础技能,编码规范性、基础知识、积累常用模块。 然后精力还有余力的时候再系统学习周边延伸知识。 记住一口吃不出胖子。
Node.js最近几年发展迅猛,npm有接近70万repo。JavaScript除了在前端之外,后端、Android、iOS甚至PC应用、命令行应用等等领域都有渗透。造就了前端的繁荣,同时也拉高了前端的开发水准,在这之前感觉前端都不像个程序员(没有其他意思。。) 想发展全栈可以多涉猎一下后端服务、数据库、架构设计之类的。后端逻辑更严谨,比前端对性能压榨更厉害。也可以写写native程序,从前端到客户端,差别不大。 Node.js到底能做啥,可以参考我搜集的Node.js精选开源库,里面有各种框架和应用。
@YOMAMH 没有人能做到记住所有知识点,但是一个好的架构师确实应该融会贯通,统领全局。个人感觉全栈工程师就像低配的架构师。
@shen100 你这个网站跟cnode好像啊
@vendar 对于在某个领域有多年经验来说,向其他的领域拓展当然可以,但是如果是刚入门某个领域,就想着拓展,反而对个人发展起不到什么好处
@YOMAMH 赞同!横向发展有一个必要的前提就是先精通一个领域。之后才能做到触类旁通,否则就很尴尬了。
来自✨ Node.js开源项目精选✨
@vendar 话题的样式是参考cnode的,但技术方案完全不同哦,golang123整个项目构架是前后端分离的,前端使用vue, iview, nuxt做为渲染层, go写api服务