国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

聽說2017你想寫前端?

開發 前端
不好意思,沒有像其他公眾號一樣趕著發文章,每年到這個時候總有一大波什么今年前端預測,技術框架預測什么的。我這次寫這篇文針對的對象,是想在今年踏入前端這行的人們,不管你現在是徘徊在門口,還是已經半只腳踏入這片未知領域,都可以參考一下先行者的經驗。

不好意思,沒有像其他公眾號一樣趕著發文章,每年到這個時候總有一大波什么今年前端預測,技術框架預測什么的。我這次寫這篇文針對的對象,是想在今年踏入前端這行的人們,不管你現在是徘徊在門口,還是已經半只腳踏入這片未知領域,都可以參考一下先行者的經驗。

[[181742]]

先來個大概預覽:

  • 項目工程化
  • 發展方向
  • 職業環境
  • 總結要掌握的框架/技能

小結放在前:

  • 2017的前端與其說更殘酷,不如說更規范化,前兩年各種培訓了幾個月就出來隨口開價上萬,幾萬的新手將被市場淘汰。
  • 前端開發工具/編譯工具 逐漸成型,雖然比不上object-c, java, C+ 等排名靠前編程語言有完善的IDE環境,但是。工程化模塊化的概念開始深入人心,這年頭還編寫原始HTML CSS Javascript 代碼的,要么就是小項目,要么就是新手。
  • 前端的工作更具有挑戰性,方向更多樣化

假設我今年要入WEB前端開發的坑

這里強調web前端是因為,現在很多iOS,安卓開發加入大前端的這個稱呼。主要是因為React同構的出現吧,很多開始混合在一起了。

首先我們來回顧一下我們老同學印象中的前端:

  • 老古董: PS切圖導出
  • 新手小白:  Adobe Dreamweaver 寫代碼
  • 懶人: UltraEdit, notepad++ …

或許你精通之后隨便找個能敲字的東西就可以開始寫代碼,但是我遇到過一個有著多年豐富經驗的前端老前輩,就是因為懶惰打開編輯器,手寫了一段代碼也沒有檢查,就直接提交,然后不小心敲錯字符,導致整個項目差點爛尾的事情。真正厲害的人,任何時候都應該是非常謹慎的。 請善用IDE的查錯糾錯功能。

跟以往不同,如果你今年要開始web前端的開發(下面都簡稱前端),那么至少你是不用去折騰太多的瀏覽器兼容,但并不是完全不需要去關心,只是開發環境不像以前那么多坑,因為各種編譯器的出現。

前端面對的國內最嚴峻的挑戰是:

落后的瀏覽器版本迭代。
我拿到過國內某500強手機企業的手機,我一看自帶webkit內核,居然是2003 的 Releases 版本 webkit. 我當時是比較震驚的,畢竟安卓內核也是 4.x, 我至今不知道他們是如何做到把一個那么舊的瀏覽器內核塞進一個比較新的安卓系統的,也不知道這么干是幾個意思,當然即使是高通soc基帶,要升級一下系統也是登天還難,更別說其它soc基帶。

安卓版微信在截稿之前是大概Chrome35的版本(最新是Chrome55) 并且持續了1年不變,據說是為了穩定。

UC,百度,等套殼瀏覽器大行其道,但它們調用的只是系統的瀏覽器內核,你別跟我說優化了加載速度什么東西,加載速度是網絡狀態、系統硬件決定的,跟你一個套殼瀏覽器有半毛錢關系?所以我不知道它們幾十兆容量到底寫了什么東西,細思極恐。

總之,在桌面時代,我們面對的是IE6,7,8這個毒瘤, 在移動時代我們面對的是安卓這個毒瘤(限國內)

推薦兩款編輯器:

  • ATOM 目前最熱門的編輯器
  • Sublime text 良心編輯器,雖然是收費的,但不強制,偶爾提醒而已
  • vscode 基礎插件完善但第三方插件更新緩慢
工欲善其事,必先利其器。

前端框架的高速發展,意味著各種插件的不斷快速迭代,那么Dreamweaver這種半封閉式的大型工具,雖然單方面很強大,但明顯版本更新跟不上社區更新的腳步,即使我裝了最新的2017版本體驗了一下,我也覺得它無法勝任這個時代了

項目工程化

避免毫無意義的報錯

老實說,雖然前端開發工程化的概念終于開始普及,是一件好事,但事實上還是屬于初級階段,對入門新手并不友好。還不能像xcode一樣,直接建立一個工程,然后配置,然后就一條龍寫代碼搞定,雖然 macOS 平臺有個CodeKit已經做得非常好了,但由于更新力度跟不上各種框架發展的速度,所以,也只是能參考。

現在寫前端,你起碼要建一個本地運行環境(localhost) 之類的。這是非常非常基礎的東西,請不要 再像以前那樣,雙擊HTML去預覽你寫的代碼,有個問題我在一些群里回答新手不止上百次: XXXXX  is not allowed by Access-Control-Allow-Origin , 基本上99% 就是直接雙擊HTML導致的(剩下1%是http跨域之類的)

既然都要建立 localhost 了那么部署 IIS , os server, 之類的,都是非常麻煩的一件事至少我覺得是。 并且還涉及到一些付費軟件之類的,成本上升不少。

得益于nodejs的發展,現在 Browsersync , webpack dev server都能快速的部署起一個工程目錄,前提是你裝了node。

前端不再直接編寫CSS,HTML,JS

雖然這個小標題寫得有點夸張,但是一個趨勢。
瀏覽器運行鐵三角:css html js,這些必須文件,如果現有瀏覽器保持不變的話,那么以后的工程師,獎越來越少直接編寫這些文件, 轉而通過 編譯工具,選擇一款自己喜愛的新興語言去編寫,然后編譯成瀏覽器可以認識的鐵三角文件,當然不排除以后瀏覽器可以直接運行 less、scss、ts 等文件,這都是有可能的。

最有名的例子就是 jQuery 的語法被ES2015 甚至被新時代的瀏覽器吸收并內置原生支持了(以前甚至傳出瀏覽器要內置jQuery)

CSS:

現在大部分都是通過 less、scss、sass 等去編譯成普通css文件然后通過著名的postCSS插件,補全各種瀏覽器前綴。舉個例子:

在less文件我們這么寫:

  1. .foo { 
  2.     display: flex; 
  3.     justify-content: center; 
  4.     flex-direction: column; 
  5.     .bar { 
  6.         flex-grow: 0
  7.         flex-shrink: 0
  8.         flex-basis: auto; 
  9.         &:hover { 
  10.             color:red; 
  11.         } 
  12.     } 

編譯出來的css是這樣:

  1. .foo { 
  2.   display: -webkit-box;     
  3.   display: -webkit-flex;     
  4.   display: -moz-box;     
  5.   display: -ms-flexbox;     
  6.   display: flex;     
  7.   -webkit-box-pack: center;     
  8.   -webkit-justify-content: center;     
  9.   -moz-box-pack: center;     
  10.   -ms-flex-pack: center;     
  11.   justify-content: center;     
  12.   -webkit-box-orient: vertical;     
  13.   -webkit-box-direction: normal;     
  14.   -webkit-flex-direction: column;     
  15.   -moz-box-orient: vertical;     
  16.   -moz-box-direction: normal;     
  17.   -ms-flex-direction: column;     
  18.   flex-direction: column; 
  19.   
  20. .foo .bar {     
  21.   -webkit-box-flex: 0;     
  22.   -webkit-flex-grow: 0;     
  23.   -moz-box-flex: 0;     
  24.   -ms-flex-positive: 0;     
  25.   flex-grow: 0;     
  26.   -webkit-flex-shrink: 0;     
  27.   -ms-flex-negative: 0;     
  28.   flex-shrink: 0;     
  29.   -webkit-flex-basis: auto;     
  30.   -ms-flex-preferred-size: auto;     
  31.   flex-basis: auto; 
  32.   
  33. .foo .bar:hover {     
  34.   color: red; 

這效率,這補全,你手寫要寫多久? 搞不好還寫漏。 所以,無論是出于對老板給你的工資負責, 你父母給你生命負責,還是你自己對你的身體負責,都請采用編譯工具去書寫你的css,html,js。

上面是用css做例子,

還有針對 HTML 的  pug (以前叫jade), HAML
針對JS的 typescript, coffeeScript
不過這里js我要特別說一下, 新版本的ES6,ES7,其實已經非常完美了,
語法模塊化什么的應有盡有, 然后通過著名的 Babel 編譯器,編譯成現在流行瀏覽器兼容的版本即可,雖然typescript我覺得蠻不錯的,但個人覺得這個就沒必要增加團隊學習成本了,除非你個人愛好。

大型項目無法避免 MV* 工程

從 Ajax 的興起, requirejs 的新興思維模式一些專用術語就不逼逼了
隨著前端的發展,nodejs 的成熟,前后端分離勢在必行,那么前端項目越來越復雜,一個健壯清晰的模塊體系非常重要,不然隨時會把自己做蒙。

現在流行的 MV* 框架有

  • Angular 2
  • Vue.js 2.0
  • React
  • React-Native

注:MV* 框架一般指 MVC、MVP、MVVM 這些,具體什么意思,其實懂了也沒啥意義。

我個人看好 vue2,還有它的全家桶

這些框架,無法避免需要編譯器,需要工程目錄,需要nodejs。

Koa2, Express 我就不說了,有興趣的人自己去研究但也是后期要學的

所以現在入門,工程化你的項目,勢在必行,別嫌麻煩。當然這里只指出路子,并不進行深入介紹,會在以后單獨一篇介紹如何開始工程化你的項目。

發展方向

前端一直有2個方向:

  • 交互向
  • 數據向

不黑不偏,交互向是非常難走的一條路。也是非常缺的。
總之,選擇一條你喜歡的路,并堅持走下去就對了。這里說說這兩個方向今年的一些趨勢吧。

交互向

16年大熱的東西,無疑就是VR,大概在 2013年的時候,Google的工程師熱推過一波webGL,但是各種性能跟渲染問題那時候沒有完全搞定。(其實我覺得現在也沒搞定)
但無論如何 webGL 必將大熱。

就目前來說比較能繼續跟下去的就是
Three.js還有 Mozilla 搞的A-frame,
特別aframe最近動作很大,都配合 threejs 搞起webVR
但是我在這里還是建議大家先學webGL再玩webVR.

很多人不知道怎么沒開始webGL,確實一大堆三維矩陣算法定點渲染一開始就能把人看暈,但是別怕,試試看 blender 這款開源建模軟件, threejs 也是有針對這款軟件的導出插件。 blen4web 雖然收費,但也是可以參考。

其它的庫要么就棄,要么就突然沒下文了。

當然技能與財力突出的朋友可以去嘗試 unity3D

小提示:盡量在手機上嘗試, 現在的 Retina 桌面顯示器…webGL真心帶不動,別說web了,原生的3D渲染在Retina顯示器上都很難,不過可以設置參數1倍渲染,只是丑了點。

順帶說一句,你以為交互向的,就不用學數據向的東西? 不要天真,該學的還是要去學,所以我說路不好走。

數據向

毫無疑問,這是應該算是大家都認同的正統路線,也是發展得非常全面的一個方向,路已經有很多前輩踏平了。各種 MV* 框架, 各種服務端node中間件,大前端一下子吞并了本來后端要干的大部分工作。
前后端分離開發勢不可擋,大數據可視化依舊是非常熱門
如果一切順利的話,這個方向的人學一下D3.js會利好升職加薪。

題外話:有個叫微信小程序的東西,大家可以作為技能提升去研究研究。

Chrome PWA 項目其實大家有時間也可以作為技能提升去看看。

作者個人觀點:搞那么多事,還不如做好 Add to homescreen 的功能。有時候真感概Chrome在國內真不接地氣。

職業環境

現階段就業環境其實非常合適入門前端,掃清了微軟三大毒瘤 瀏覽器(淘寶率先不支持IE8 ,干得漂亮), 即使在移動端webkit內核不是很完美的情況下,你依舊可以書寫出很多你要的web效果,反正老版本的內核的那部分客戶對象,根本不能給你帶來任何利潤,不如直接放棄。因為只有最新技術才能給你帶來利益,成就感。

前端各種工具也漸漸給前端開發帶來便利,雖然前期部署起來確實麻煩,但試問一下,你連這點耐心都沒有,我實在看不到你的未來在哪。

然后我們要面對的,也是一個不可抗力因素,我這里不是慫恿你們干什么事,有時候一些封鎖,錯誤的封掉了一些學習資料。這個請自己務必不要放棄,找方法突破封鎖,我就舉個例子,假設你要用 npm 安裝 node 模塊。那么首要面對的問題就是某些不可抗力的封鎖,還有運營商的QoS限制,有些朋友向我推薦 yarn, 我親身試過,也是被封得一塌糊涂。

這里我覺得可以曲線用npm, 非常感謝淘寶 fork 了一份 npm。 稱之為 cnpm, 他們的網址是 npm.taobao.org  具體使用方法我不多講自己看。

然而有時候這并不能滿足我們的需求,例如命令行下的一些操作。

假設你有 SS 這種梯子。
那么你可以在命令行下做一些臨時的 proxy 設置:
MacOS 終端(假設你梯子的端口是1087):

  1. export http_proxy="http://127.0.0.1:1087" 
  2. export https_proxy="http://127.0.0.1:1087" 

Windows 命令行(同樣假設你的端口如下):

  1. set http_proxy=http://127.0.0.1:1080 
  2. set https_proxy=http://127.0.0.1:1080 

然后就可以愉快地 $ npm xxxxx… 或者 ATOM 的升級 package 也能這么干。

題外話:ATOM升級package不順利的話,用這個方法然后命令行

  1. apm install [packagename] 

總結:掌握的框架 / 技能

  • 要會部署nodejs環境
    • webpack
    • babel
    • gulp
    • postCSS的插件
  • CSS:Less, scss
  • HTML:pug, haml (可選)
  • Javascript: ES6, ES7
  • WebComponents (可選)
  • Vue.js / React (反正掌握一款MV* 框架是必要的)

對了還有即將大熱的 hotfix, 代表作有:阿里熱修復技術,據說餓了么,騰訊也出了。沒去關注,但我個人覺得這個 apple 不會坐視不理的,畢竟你可以隨時服務端修改APP繞過審核,這種外道招數我覺得可以學學但不要認真。

其它:

Angular 2 被小編你吃了?
Angular 3 開發組告訴我,你又得像 ng1 轉 ng 2 一樣, 從頭學一次。 so…你們玩得開心就好,真的,我的項目連平滑升級都做不到,我真心沒辦法陪你們玩。

jQuery 要死了? 要死了啊!?
哥,穩住。不會死,即使死了,也是融入到原生支持,如果你要從jQuery過度到原生,叔叔推薦網址你去學,別怕:

說好的交互向呢?你上面說的都是數據向。
AE + bodymovin( https://github.com/bodymovin/bodymovin ) 去學,

svg不可少,

sketch 是神器,

webGL 見仁見智,但是自從2016年第二、三季度,各大科技巨頭公司都在技術積累,你懂的。但真心不強求。

然后就是把數據向的也學了。

責任編輯:王雪燕 來源: 滬江UED
相關推薦

2025-03-26 00:55:00

2011-05-25 17:17:54

前端開發

2020-06-02 09:45:07

微前端組件代碼

2020-12-15 16:44:48

代碼程序運行

2017-01-16 13:15:19

前端開發者清單

2017-05-08 16:17:54

前端開發工具

2020-03-06 10:25:10

注解Java代碼

2016-12-07 18:10:32

FIT

2018-05-15 11:14:07

面試官C++編程

2017-12-13 14:24:08

Google 開發者瀏覽器

2024-02-29 08:01:42

分布式IM系統

2013-01-22 13:50:11

程序員前端Web

2021-10-12 19:16:26

Jest單元測試

2021-03-04 15:43:29

前端測試工具開發

2017-06-13 13:29:32

前端框架

2018-09-05 17:14:36

戴爾

2016-10-13 13:43:04

WebPGoogleJPEG和PNG格式

2012-07-11 10:38:34

JavaScript

2023-02-03 16:03:17

TypescriptJavaScript

2021-07-15 11:31:22

遞歸匹配參數
點贊
收藏

51CTO技術棧公眾號

九色网友自拍视频手机在线| 99精品全国免费观看视频软件| 亚洲精品v日韩精品| 日本久久久网站| 精品99视频| 日韩av免费一区| 国精品产品一区| 亚洲黄页视频免费观看| 老司机av在线免费看| 亚洲va在线va天堂| 爽爽免费视频| 洋洋成人永久网站入口| 色免费在线视频| 国产亚洲成aⅴ人片在线观看| 国产aaa免费视频| 日本不卡视频在线| 欧美不卡1区2区3区| 亚洲黄色精品| av免费精品一区二区三区| 日韩电影在线视频| 国产精品久久久久久久久久东京| 国产精品一区二区中文字幕 | 亚洲精品中文字幕乱码三区不卡| 影音国产精品| 久久99精品久久久久久久久久| 五月开心六月丁香综合色啪| 国产精品久久久久久一区二区| 日韩美女毛片| 日韩av免费在线播放| 亚洲精品白浆高清| 国产精品美女免费| 99久久夜色精品国产亚洲96| 亚洲综合在线做性| 亚洲激情二区| 欧美一区1区三区3区公司| 热久久一区二区| 九九久久九九久久| 久久这里只有精品6| 午夜免费福利在线| 亚洲国产美国国产综合一区二区| 亚洲综合图片| 欧洲生活片亚洲生活在线观看| 欧美69xxxx| 精品无人国产偷自产在线| www.26天天久久天堂| 欧美极品欧美精品欧美视频 | 日韩精品在线一区二区| 交100部在线观看| 亚洲视频在线观看免费| 国产免费区一区二区三视频免费 | 国产精品超碰97尤物18| 在线视频国产三级| 777欧美精品| 青青在线精品| 国产精品久久久久久一区二区| 欧美体内she精视频在线观看| 神马一区二区影院| 久久久欧美精品sm网站| 亚洲国产资源| 亚洲精品成人久久| 97se亚洲国产一区二区三区| 成人国产精品日本在线| 精品在线一区二区| 电影天堂爱爱爱爱| 日韩欧美精品在线| 欧美黄色一级| 国产精品三区在线| 韩国一区二区视频| 少妇免费视频| 日韩精品视频观看| 欧美日韩中文字幕一区二区三区| 欧美动漫一区二区| 久久精品无码一区二区三区| 最新四虎影在线在永久观看www| 日韩精品一区二区三区在线观看 | 国产91视频一区| 一区二区三区四区国产精品| 黄色网页在线观看| 欧美激情手机在线视频 | 97dyy97影院理论片在线| 精品视频1区2区3区| 色猫猫成人app| 国产欧美一区二区三区四区| 国产精品一区在线观看你懂的| 白白色在线发布| 亚洲欧美综合另类中字| 亚洲先锋影音| 国产精品久久久毛片| 精品999在线播放| 91精品国产乱码久久久久久 | 中文字幕欧美视频在线| 欧美一区亚洲| 中文字幕第88页| 亚洲老头同性xxxxx| 五月激情综合| 日韩不卡一二三| 亚洲视频日韩精品| 国产一区二区三区成人欧美日韩在线观看| 亚洲五月天综合| 日韩国产高清污视频在线观看| 欧美hd在线| 久久精品影视大全| 亚洲精品福利视频| 欧美aa国产视频| 男女视频网站免费观看| 北条麻妃久久精品| 久久电影网站中文字幕| 色视频在线免费观看| 成人久久18免费网站图片| 国产精品蜜臀在线观看| 福利精品在线| 日本免费黄色小视频| 日韩一区二区中文字幕| 综合视频在线| 最新在线观看av网站| 5566日本婷婷色中文字幕97| 久久青草欧美一区二区三区| 成人美女大片| 在线观看亚洲视频啊啊啊啊| 欧美情侣在线播放| 影音先锋日韩在线| 中文字幕视频在线观看| 91chinesevideo永久地址| 国产91精品免费| 欧美成人h版| 国产在线xxxx| 日韩一区二区在线视频| 激情图片小说一区| 午夜激情电影在线播放| 2021狠狠干| 亚洲网站在线看| 国产99久久久久久免费看农村| 中文字幕乱码在线播放| 国产对白在线播放| 亚洲成人网av| 国产精品自拍一区| 粉嫩av一区二区三区四区五区 | 亚洲第一中文字幕| 日韩高清国产一区在线| 老司机在线看片网av| 欧美激情视频一区二区三区| 欧美一级理论性理论a| 丝袜诱惑制服诱惑色一区在线观看 | 日本成人在线不卡视频| 在线āv视频| 日韩国产在线一区| 亚洲成人久久一区| 国产成人精品免费一区二区| jizz亚洲女人高潮大叫| 国产精品久久久久9999小说| 欧洲精品毛片网站| 偷拍一区二区三区四区| 91久久中文| 欧美一区久久久| 别急慢慢来1978如如2| 日本免费久久高清视频| 色噜噜夜夜夜综合网| 青青草精品视频| 成人影院在线免费观看| 国产精品igao| 国产精品免费网站| 欧美无人高清视频在线观看| 国产精品综合| 久久天堂av| 羞羞网站免费观看| 久久伦理网站| 色诱女教师一区二区三区| 日韩美女久久久| 亚洲精一区二区三区| 韩国女主播一区二区| 亚洲久久中文字幕| 国产一区二区三区四区hd| 国产一区二区三区网站| 亚洲精品中文在线观看| 亚洲伊人网站| 老司机亚洲精品一区二区| 亚洲pron| 国产精品igao激情视频| 国产91精品青草社区| 欧美精品色综合| 久久精品这里都是精品| 欧美三区在线| 成人午夜888| av基地在线| 成人小视频在线看| 91精品啪在线观看麻豆免费| 亚洲国产天堂久久综合| 自拍偷拍亚洲激情| 欧美一区二区三区成人久久片| 精品欧美一区二区在线观看| 欧美日韩视频一区二区| 久久久久一区二区三区四区| 一本色道88久久加勒比精品| 久久99精品久久久久久噜噜| 亚洲午夜电影在线| 国模一区二区三区| 国内精品福利| 欧美乱大交xxxxx潮喷l头像| 91av在线播放| 精品sm在线观看|