# thewall-doc **Repository Path**: thewall/thewall-doc ## Basic Information - **Project Name**: thewall-doc - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-12-15 - **Last Updated**: 2020-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 就业前景 ![前景.png](https://i.loli.net/2020/02/23/oJdBNrWZ4TGkyn9.png) > 参考拉勾和BOSS直聘 ## 发展趋势 ### Web 的富媒体化趋势 这个趋势非常明显,它其实是跟着网速发展的。 #### 文本时代 古代我们上网的时候,还是用电话线,拨号上网,那个时候非常的慢,看个图片都要等半天。论坛帖子标题里经常写的一句话叫「多图杀猫」,就是说这个帖子图片太多了,打开以后要等半天才出内容。 所以在那个时代,互联网应用必然是以文字为主流的。比如聊天室,大家都是打字聊天的;然后门户,也是整屏的都是密密麻麻的字,为什么?因为新开一个网页,要等老半天才显示出来,还不如在一个网页里边塞足够多的字。那时候很多门户的网页编码都用 GB2312 不用 UTF-8,就为了省那么点字节。 甚至游戏都是文字的,MUD嘛,场景都是要靠想象力的,大概类似于勇者斗恶龙把上边的图给去掉,「你受到了史莱姆的会心一击,损失了20点HP」… #### 图文时代 再往后,大家的网速慢慢就好一些了,图片就开始了大量的上了。但基本都局限在「看图」,这是因为那时候智能手机和移动网络都没起来,图片要用数码相机拍,然后再导入到电脑,传到网站上去。这个对于 PGC( Professional Generated Content,专业生产内容 ) 的编辑来说没什么,但对于 UGC( User Generated Content,用户生产内容 )来说,还是太复杂了。 所以当时兴起的基本还是图文内容,博客是其中一大代表,也是聚集了一大批的流量。 再往后,移动资费慢慢下来了,再后来有了以 iPhone 为代表的智能机,这时候 UGC 的图片才大规模的上来。观察微博所带的图片比例,就可以很明显的发现这个趋势,09年时,带图的微博并不多,到现在,不带图的微博已经非常少了。 智能机的发展极大的推动了互联网的富媒体化,因为它是数据的采集端嘛。 #### 视频和直播时代 视频网站倒是很早就来了,那时候优酷土豆天天打架。但视频 UGC 是没有跟上,那时候叫做「播客」,主推就是音频和视频。后来也一直没发展起来,主流视频网站最后还是买版权,然后靠 PGC 做了自制剧。我觉得很大程度上和视频的沉浸式体验有关,这种体验抑制了传播,现在微博上,长度超过十分钟的视频依然是很难传播的。 直播为视频带来了互动性,同时对带宽和实时性提出了新的要求。其实直播,尤其是移动直播是一个很有意思的事情,以前电脑直播,你基本就只能看对方在一个房间里边唱歌跳舞,秀秀身材;但移动直播却可以带你到地球的每一个角落,只要有手机信号,就能看得到的。 直播的互动性也为视频带来了前所未有的体验,比如说,以前看数码测评,只能看编辑整理好的内容;而现在看测评直播,你可以让测评的同学把手机转过来让你看看电源口,还能让他们装个农药看看卡不卡。 #### 趋势背后 这些趋势背后,都是各种支撑技术。比如文字上来了,要做分词和搜索吧?图片来了,要做识别和监管吧?直播来了,要做 P2P 、视频压缩和实时数据传送吧? 最明显的,就是做 CDN 的只要活下来的都很挣钱,因为这么下去,消费的带宽只会越来越多嘛。 另外就是,我们可以明显的看到,一个技术上的能实现的事情,到大规模的商用之间,还隔得很远。图片和视频的普及就是一个例子;同样,VR 技术的成熟,也要等到硬件、内容等边界条件达到一个临界点的。 ![](https://user-gold-cdn.xitu.io/2017/11/2/1c3fdeeb57667b144f3ee3b4537b7472) #### APP 撼动了 Web 的地位 移动优先这事,其实对于 Web 的打击挺大的。最主要是苹果开了个坏头,对把他们所有东西都弄成 APP 了,当然,Web 在手机上的确有操作上的不便,光是输入网址就要花好久,还一堆英文符号数字,没法用语言输入。APP 点一下就开了,的确是一个更好的入口。 但是 APP 虽然体验更好,但也有它自己的问题。首先是制造成本更高了,要为每个平台做一个,开发完还要一直维护;然后它又给设计成一个中心化的东西,要提交应用商店走审核。人家不给通过,用户就没法用,驳回理由千奇百怪的;就算所有内容都 OK ,每次更新又要审一回。另外就是 APP 的体积越来越大了,不买个 64G 的手机都不好意思装应用。 而 Web 是完全开放的,没有这些繁文缛节。所以很多公司就想,能不能把 APP 和 Web 的优点给结合下,搞点免安装的 APP 出来? 于是微信出了小程序。 这些都是前端的机会。 #### 混合 APP VS 原生 APP 在 JS 的全栈方案中,它使用混合( Hybrid )方式来构建 APP。有两种层次的混合,一种是里边用 WebView ,外边封一个壳,这种方案学习成本低,开发者只需要使用原有的 Web 技术就 OK ,但性能上会差一点,遇到超长列表可能会卡顿,另外动效也不如原生的顺滑;另一种是内置一个 JS 引擎,解析 JS 代码然后去渲染原生的 UI 组件,这种方案性能更好,感官上和原生 APP 非常接近,但需要开发者学习各个平台对应的 UI 库,有较高的学习成本。 但整体来讲,混合 APP 的出现,给很多创业公司和预算不充裕的团队提供了一种渐进式的解决方案。你可以选择先用 H5 来做产品,在微信里边内测;然后将其打包成 APP ,通过应用市场分发,占领手机的入口;再之后可以通过 React Native 等方案,提升其性能;如果这些都达不到体验的要求时,再去开发原生 APP 。 ## 前端开发做什么 >- 页面布局 >- 实现样式 >- 组织内容 >- 实现交互 >- 特效 **前后端分离的模式,让前端更加专注于页面的数据展示与交互,后端专注于数据的输出,极大提升了工作效率和前端的独立性和重要性。** **随着互联网时代的发展,前端所能做的事情也变得越来越多。** >- H5的出现使我们的网页可以具备很多原生app才具备的功能。比如地理位置,媒体识别,陀螺仪监听,离线存储,音频,视频。 >- 我们可以利用网页技术实现不逊于原生app的webApp >- node.js 可以帮助我们实现后端开发,从而成长为全栈工程师 >- 微信小程序和微信公众号开发 >- 混合app开发,实现一套代码多端运行 ![环节.png](https://i.loli.net/2020/02/23/Ghcsfe9KB8Jq3E1.png) #### 前端到底要会什么? 那么,企业对应届的前端岗位的需求到底是什么? ![](https://user-gold-cdn.xitu.io/2017/11/2/b850c80bf2c76f9cbe2acf0b7185f097) 总共有160个岗位,我们把包含这些岗位的全部页面抓下来,然后把每个职位的信息提取并保存为 JSON 。最后按需要分析统计这些 JSON 数据,就能得出我们需要的最终数据。 ``` [javascript] => 152 [css] => 134 [web] => 101 [html5] => 74 [html] => 72 [react] => 56 [jquery] => 52 [vue] => 50 [nodejs] => 46 [angular] => 39 [ajax] => 35 [java] => 30 [php] => 30 [pc] => 25 [bootstrap] => 25 [http] => 24 [w3c] => 23 [webpack] => 22 [python] => 21 [ui] => 18 [app] => 17 [gulp] => 17 [git] => 16 [es6] => 15 [dom] => 14 [json] => 14 [xhtml] => 13 [github] => 12 [div] => 12 [xml] => 11 [mobile] => 11 [android] => 10 [native] => 10 ``` 可以看到 JavaScript 才是前端工程师的最大诉求;HTML/HTML5 加起来排名第二;然后是 CSS。接下来是几大框架:Vue 、React、jQuery、Angular;再然后是后端语言:Java、PHP、NodeJS。 非常明显:JS、HTML、CSS 三大块是核心,必须学完才能找到工作(在157个职位里边出现了超过150次);主流框架也是要掌握的,Vue 和 React 目前正在风头、jQuery 也还没老(超过三分之一的职位要求会其中一种);后端语言是加分项,NodeJS 和前端最为契合,其次是 Java 和 PHP(近五分之一的职位有提到)。 ## 学习路线 ![微信图片_20200218092227.png](https://i.loli.net/2020/02/23/zTIBbUOhWiS65DV.png) ## 担忧 ![疑问1.png](https://i.loli.net/2020/02/23/N4CEvtAB9xjHDJm.png) **从目前的情况来看,要找一份工作还是比较容易的(毕竟还有一堆的外包公司),但要找一份好工作,则是需要运气和实力的。** ![疑问2.png](https://i.loli.net/2020/02/23/5cV6v4Ts29xRYFe.png) **零基础,非科班,想通过培训进入程序员行业,可行性大吗?** > 如果你的培训质量足够的好,你学的也足够用心,能完成大部分互联网公司的日常开发工作,那么成为一个程序员问题不太大。 > 不管是科班、培训还是自学,都是一个过程,最终看的还是你的能力,能干多少活,能管多少人。 > 专业一般不会成为门槛,但是会成为竞争优势。如果能力差不多的两个候选人,其中一个是计算机专业,那么他被优先录取的可能性会很高。学历也是一样的道理。 ## 学习建议 >**多写代码,大部分工作内容其实没太多技术含量,唯手熟尔** >**建立知识体系,真正有价值的东西永远是建立高楼大厦的工程知识,而不是雕刻在砖面的小花纹。** >**与其把大把的时间花在学习几个瞬息万变的新框架API使用中,不如多花点时间在基础知识学习。我认为这才是真正决定一个技术人能走多远的基石** >**刚开始写前端的时候可能什么都不懂,要做的就是跟着课程写例子,不断添加功能。在这个阶段你会遇到很多很多问题,这很正常,卡住了就去寻找解决方案,解决问题的过程就是成长的过程。做完一个项目之后,可以再做一两个去巩固技术,心里有底之后再做东西就不害怕了。** >**成人学习并不是那么容易,完全取决于你对成功有多渴望**