经验分享:如何系统学习 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技术进行客户端产品的开发.完成客户端程序(也就是浏览器端)的开发 ...
随机推荐
- 使用snmp4j实现Snmp功能(二)
相关链接:Snmp学习笔记使用snmp4j实现Snmp功能(一)使用snmp4j实现Snmp功能(二)使用snmp4j实现Snmp功能(三) 前一篇文章讲了如何用snmp4j实现set和get的功能, ...
- 15ecjtu校赛1006 (dfs容斥)
Problem Description 在平面上有一个n*n的网格,即有n条平行于x轴的直线和n条平行于y轴的直线,形 成了n*n个交点(a,b)(1<=a<=n,1<=b<= ...
- 工作中常用的Linux命令(不断更新中)
最近工作中用到linux命令,简单总结如下: 1. pwd 查看当前所在的文件路径 2. cd 切换目录 cd .. 切换到上一级目录 3. ls 列出当前文件路径下的所有文件和文件夹 4. ll 是 ...
- ufw坑
ufw就是一个iptables的快捷应用.今天被这个给坑了. 一个同时没事随便修改ufw,结果ssh登陆不上,ldap什么的都被阻断了. 直接iptables -F,结果忘了修改policy,直接没法 ...
- [技巧篇]02.关于MyBatis存取图片到MySQL数据Blob字段
- js处理时间的那些事
我们在实际需求中一般需要对时间进行相应的出来,比如:对时间串的拆分显示,两个时间差的求值显示等. 时间拆分: 一般对于这种处理我们使用正则表示式: 正则表达式拆分时间: var date = data ...
- [洛谷P2023] [AHOI2009]维护序列
洛谷题目链接:[AHOI2009]维护序列 题目描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,-,aN .有如下三种操作形式: (1)把数列 ...
- 元类编程-- 实现orm,以django Model为例
# 需求 import numbers class Field: pass class IntField(Field): # 数据描述符 def __init__(self, db_column, m ...
- 「6月雅礼集训 2017 Day11」tree
[题目大意] 给出一棵带权树,有两类点,一类黑点,一类白点. 求切断黑点和白点间路径的最小代价. $n \leq 10^5$ [题解] 直接最小割能过..但是树形dp明显更好写 设$f_{x,0/1/ ...
- NGINX: 反向代理 Nexus
Nginx 反向代理 nexus 的服务, 一直卡在 Initialize... 解决方式是添加一个 header X-Forwarded-Proto: proxy_set_header X-Forw ...