经验分享:如何系统学习 Web 前端技术?
这篇文章主要是面向小白用户的,如果你有些基础,当然也建议你看看,尤其是最后一个主题,或许你能得到一些启发。本文的观点,纯属个人自以为是的想法,不是真理,仅供参考。
抛开具体技术细节,先主要谈谈程序员如何更高效的,有选择的学习技术。我能体会到选择的轻松和乐趣,体会到身为技术人员和人类的平衡感。字里行间中,我要表达的是一种放弃与选择的哲学,能品到这一点,我就很高兴。
最后总结的一些干货,我自己是一名从事了5年前端开发的全栈工程师,今年年初我花了一个月整理了一份最适合2018年学习的前端干货,包括基础+资料+视频,都是免费的(如果你不是学习,就不要进来啦,人数有限)
前端学习qq群:733581373
人生苦短 我们需要一个基线
古代小说里,高手如云,人们为了生存,要掌握一套保命武功。其中,我最喜欢的是轻功,毕竟三十六计走为上策(狡诈的一笑)。说到底,武功和技术一样,都是为了生存。
问题是,现实一点来说,一个武者,很难掌握所有的武功秘籍,因为臣妾做不到啊;所以如果有一种武功,能够远攻和近攻,能逃跑能单挑,那就极好了。
玩“农药”也一样,我发现英雄们各有优缺点,但你又不可能什么英雄都练,因为臣妾也做不到啊,毕竟上场时就一个英雄,所以就需要选择,我选择的是吕布和赵云,他俩在游戏故事设定中是情敌,其实貂蝉喜欢的是赵云,我之所以选这两个情敌成为基友,是因为符文一样,这点很重要,五级符文真mde难攒,吕布和赵云战斗力都很棒,我基本就练这两个,现在的级别是永久钻石,虽然不是最厉害的,但在王者的世界,确有一席之地。
技术也是一样,我通过一套技术,每天用这套技术开发,不断磨练,好过啥都学,啥都不深入,因为之所以深入,是因为你不断去用,很多时候,一个技术名出来,就买书学,其实很傻很天真,因为技术是手段,目的是解决开发问题,如果用不上,就毫无意义。
回过头来,我们发现“农药”中选英雄,和选自己的技术体系是一样的。我们狭义的目的,是想通过一种技术(手段),能够开发尽可能多的应用程序。
那么如果有这种技术,最好满足以下几个特点:开源,前后端全栈式开发,前后端代码可以共享,最好在有生之年不被淘汰的,最重要的是好就业的。
符合这些特点的技术,当属 Web 技术了,下个主题让我们探讨,它为什么符合。另外需要说明的是,这里说的 Web 技术,是我进一步浓缩的技术体系,因为广义上的 Web 技术,其实涵盖的面太广了,我们需要进一步,抽离出更符合这些特性的具体技术,形成一套便于开发的 Web 技术。所以,下面讲的是狭隘的 Web 技术。
Web 全栈式开发
HTML5 与 Node.js 技术,可以让程序员做到 Web 全栈式开发。这套技术是标准的、开源的。
HTML5 大家都听过,百度就可以知道它的定义啊,历史啊等一些信息,所以,这里不再赘述。HTML5 是标准化的技术,Node.js 是开源技术,所以完全免费,随便用。另外,当你进入到 npmjs.com 网站,会发现无数 Node.js 第三方库,最重要的,这都是免费的,开源的,这为我们的项目开发提供了一个强大的、免费的开发团队!你可以直接用别人的开发成果!
这套技术不会被淘汰
学习是有成本的,时间是宝贵的,因为生命宝贵;人都是想用更多时间陪陪家人,陪陪女朋友和基友,也喜欢玩玩“农药”,去迪士尼当回小孩儿;如果你爱技术胜于当人的乐趣,那么恭喜你!至少我们不太喜欢,学个一溜十三招,最后学的东东淘汰了或过时了。
HTML5 技术是标准的,我们用到的浏览器都支持他,所以在可预见的未来不会被淘汰。而 Node.js 是开源的,不受一个公司的控制,却受到各个大咖公司的赞助和支持,包括微软、因特尔、IBM … 所以 Node.js 在可预见的未来,也不会被淘汰。
所以学习 HTML5 and Node.js 技术可长久有效。
这套技术可前后端全栈式开发
我们所说的 HTML5 和 Node.js ,是前后端技术的代名词,因为围绕它们的,是非常庞大的生态圈。这个我们会在下一主题中说明。
一个软件可以分为前端和后端,比如一个 App 分为客户端和服务器端程序。通过 HTML5 技术可以开发客户端程序,服务器端程序可以用 Node.js 开发。
那么,为什么 HTML5 要与 Node.js 构成前后端全栈技术呢? 而不能是 html5 + php 或其它呢?也不是不能,而是前者更有优势。
浏览器程序是采用 Javascript 语言编写的,而服务器端的 Node.js 程序,也是用 Javascript 语言编写的,所以前后端可以统一使用一种编程语言开发。这样前后端的很多库,都可以共享,既可以运行前端,又可以运行后端,提高了开发效率。
学好这套技术好就业
上面说了一些,这套技术的优势所在,那么为什么说,学好这套技术好就业呢?要回答这个问题,还需更进一步说明,使用这套技术到底能干什么。
我们掌握这套技术后,可以开发全端程序,比如 iPhone Android 的 APP ,可以开发 Web 程序,可以开发桌面应用程序,甚至可以开发物联网程序等等,更重要的是它节省了开发成本,提高了开发效率。
节省开发成本,是因为雇佣一个程序员,可以同时开发前后端,工资要比两个人少,而且由于 Node.js 本身的特点,可以节省公司服务器,这也是 paypal 之所以用 Node.js 技术重写系统的原因。
而提高开发效率,是因为使用这套技术,可以写一套程序,运行在 Android iPhone PC 和 服务器端,当然这样说有些夸张,多少会更改一些,但基本上做到了,一次编写到处运行。
再有,Web 前端肯定要用到 HTML5 技术,后端可能会用到其他技术,但即便后端程序不用 Node.js 开发,或多或少都要用到 Node.js ,因为围绕它诞生的一些工具,在开发中必然会用到的,比如 Webpack ,Gulp等 Node.js 相关技术。
最后总结的一些干货,我自己是一名从事了5年前端开发的全栈工程师,今年年初我花了一个月整理了一份最适合2018年学习的前端干货,包括基础+资料+视频,都是免费的(如果你不是学习,就不要进来啦,人数有限)
前端学习qq群:733581373
经验分享:如何系统学习 Web 前端技术?的更多相关文章
- 开始学习web前端技术
不能再蹉跎了,不能再徘徊了,不能再犹豫了,犹豫徘徊等于白来…… 感觉之前浪费了太多的岁月,必须得学习一门实用的技术来充实自己空虚的心情了. 想来想去网页应该是万金油的,大大小小多多少少都得用到.既然如 ...
- 学习web前端技术的笔记,仅供自己查阅备忘,图片上传预览
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 学习web前端技术的笔记,仅供自己查阅备忘,移动对font-size的控制(并非原创)
假设根字体font-size的值是40px, 640/40=16,16就是px换算rem的值 function initHtmlFontSize(){ //获取可可视屏幕的宽度 var _width= ...
- 独家分享——大牛教你如何学习Web前端开发
2014-12-18 14:35:42 引语 自从2008年接触网站开发以来到现在已经有六个年头了,今天偶然整理电脑资料看到当时为参加系里面一个比赛而做的第一个网站时,勾起了在这网站开发道路上 ...
- 绝版珍珍藏:web前端技术学习指南
绝版珍珍藏:web前端技术学习指南 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!应该具备快速学习能力. 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的 ...
- 20151028整理罗列某种开发所包括对技术(技术栈),“较为全面”地表述各种技术大系的图表:系统开发技术栈图、Web前端技术栈图、数据库技术栈图、.NET技术栈图
———————————— 我的软件开发生涯 (10年开发经验总结和爆栈人生) 爆栈人生 现在流行说全栈.每种开发都有其相关的技术.您是否觉得难以罗列某种开发所包括对技术(技术栈)呢? 您是否想过: ...
- web前端技术社区分享
web前端技术社区分享 一.国外的前端技术网站: 1. 名称:W3C: 网址:http://www.w3.org/ 理由:前端技术的规范标准几乎都是W3C制定的 2.名称:ECMA 网址:ht ...
- 学习Web前端开发时有哪些技术点
现在学前端的人是越来越多,学习质量也是参差不齐.过来人的身份告诉你,如果你还没有下定决心花时间去学习Web前端,那也可以先找些视频学习下,Web前端开发有哪些常见技术点!接下来,就看看Web前端开发有 ...
- 如何正确学习web前端流程以及如何找工作
解释一下web前端工作是做啥的,Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript/Flash等各种Web技术进行客户端产品的开发.完成客户端程序(也就是浏览器端)的开发 ...
随机推荐
- could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of(maven报错)
could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of ...
- 为select2下拉框赋值
$("#A").select2("val", value);$("#A").val('3232');
- JavaScript之typedof,instanceof,Array.isArray()
typedof value检测对象类型. value instanceof Array检测a对象是否由b对象类型 Array.isArray(value)在两个框架中判断是否为数组类型.
- LightOJ 1284 - Lights inside 3D Grid 概率/期望/二项式定理
题意:给你一个长宽高为x,y,z的长方体,里面每个格子放了灯,再给你k次选取任意长方体形状的区块,对其内所有灯开或关操作,初始为关,问亮灯数量的期望值. 题解:首先考虑选取区块的概率,使某个灯在被选取 ...
- 铺砖问题 (状态压缩dp)
问题描述: 给定m×n个格子,每个格子被染成了黑色或白色.现在要用1×2的砖块覆盖这些格子,要求快于快之间互相不重叠,且覆盖了所有白色的格子(用 . 表示),但不覆盖任意一个黑色的格子(用 x 表示) ...
- 为什么Javascript有设计缺陷
1. 设计阶段过于仓促 Javascript的设计,其实只用了十天.而且,设计师是为了向公司交差,本人并不愿意这样设计(参见<Javascript诞生记>). 另一方面,这种语言的设计初衷 ...
- F题 hdu 1431 素数回文
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431 素数回文 Time Limit: 2000/1000 MS (Java/Others) M ...
- mouseover/mouseenter/mouseout/mouseleave的区别
mouseover:鼠标指针穿过被选元素或其子元素,均会触发事件 mouseenter:鼠标指针穿过被选元素时才触发事件 mouseout:鼠标指针离开被选元素或其子元素则触发事件 mouseleav ...
- 2018DDCTF Misc部分WP
题目给出了这样一串字符:d4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7 ...
- CMD命令行下载文件
远程执行sct的另一种姿势 cscript /b C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs 127.0.0.1 scrip ...