1. 前端是有多難看完你就知道了
最近感覺追不動前端的發展了,寫篇文章感嘆一下。
HTML
我知道有一些學校會教一些簡單的網頁製作,就是用 Dreamweaver 點一點的那種。大多也會留作業,最後交作業的時候看起來也像模像樣。
只要不看代碼。
看了代碼感覺寧願選擇死亡。
table 布局,無意義的 dom 節點。大小寫混用,縮進混亂。
作為一個前端工程師,至少要寫明白自己寫的聲明是什麼意思對吧?
然後還得減少不必要的 dom 節點,畢竟很多文章說節點多會影響渲染速度(ps: 我是不在乎的,我覺得有點兒矯枉過正的味道了)
然後比較重要的一點兒是對於語義化標簽的見解。比如什麼時候該用 ul, 什麼時候該用 section, aside
至於 head 裡面的那些無聊的聲明只要會復制粘貼就好了,我覺得沒什麼意思
自信做到這些的應該算差不多了
文章說的是前端有多難,很多人都覺得這些標簽簡單。然而想像一下,要寫多少的標簽才能理解語義化的意義?要寫多少頁面才能真正的明白這個節點應該寫什麼標簽?如何組合才算合理?
CSS
然後是關於 CSS,我覺得這方面是很復雜的。並不像很多人覺得只是一些單詞的組合。
一開始我會改 background-color 覺得開心得不行,以為掌握了
後來無限突破視野。
在第一次寫超過50個class之後就感覺想死,重復性勞動,樣式修改調試,寫法丑。。。
接觸到 Sass 之後像是發現了新大陸,有一段時間甚至不會寫原生 css 語法了。
然後折騰: Sass -> Stylus
到這里結束了么? naive
後面還有postcss, cssnext 這些東西。
在 react 生態中還有 css-moles, css-in-js 這些鬼東西。
雖然語法都不是很難。但是這么長時間的折騰下來,雖說提升是有的,但並沒有感覺到生產力有多少巨大的提升。
css 到這里還沒完。
還有BEM的命名方式要去理解。
到這里依舊沒有完。
css3 的新特性,還有各種 hack。比如如何實現footer始終在底部,內容始終撐滿全局?如何實現條紋?
到這里結束了么?
依舊沒完。
css stage 4 等著去學習。
還有精力?
可以試著多做些兼容性相關的東西。會崩潰,相信我
到這里?
在我的視野中差不多算結束了,然而有誰能確定明天有沒有一個什麼new-css之類的東西解決什麼問題。
JS
來了來了,前端的一個核心。
說JS輕松么?咱們來扯扯。
首先是各種 dom 的增刪改,然後是ajax相關。學會了差不多能做簡單的頁面了。
然後對非同步的理解。只有理解了非同步才能正常地寫js。
然後是對js語言特性的理解。比如ES5如何實現繼承什麼的,閉包。
總之這些就是面試題總是會問的東西。
之後還應該理解設計模式對吧?
到這里是正常的語言應該學習的內容了。然而js到這里只是起步。
之後一個前端工程師還得會 ES2015/2016 之類的吧。現在不寫個async誰好意思說自己是寫前端的?
之後應該是配合工具了,後文說。
繼續順著語言往下說。會了 ECMAScript 就能做個合格的前端了么?
還早呢。
之前火的 coffee script 現在不行了,然而 TypeScript 火了啊。不學一下怎麼好意思追前端?
ts 對於之前寫 Java, C# 的非常友好,基本語法沒什麼變化。然而可苦了那些不寫這些語言的同學。語法改變倒是其次,思維方式的轉變才是難以接受的。
現在還有 Elm 了。。。
我覺得我老了,追不上了
2. 哪些人適合學習web前端
大學生
每年大學畢業生的人數都在增加,大學生畢業就等於失業這種說法也是越來越多,大學生就業壓力逐漸增大,面對積重難返的大學生就業困境,很多人看到了web前端工程師這一有利職位,其技術門檻相對較低,需求量較大,薪資待遇良好,更具備廣闊的發展空間。此外,大學畢業生剛剛畢業,其在校園儲備的知識量還是很適合繼續深造的。所以說大學生適合學習web前端,
設計師
這是一種比較常見的情況,因為通常設計師都會或多或少的了解一些前端方面的知識,所以自然也會對其樣式和數據分離的特性產生興趣。搞設計出身的前端有一個優勢是能更好地把握設計稿的表現重點。
對前端行業的喜愛
隨著互聯網的普及,越來越多的青少年很早便接觸了互聯網,3d游戲、做網站等等,想學點與互聯網相關的內容,首選自然是前端,因為入門要求低,很多Twitter名人就是其中的典型,他們更懂得網民需要什麼,寫的程序操作簡單。
策劃、編輯轉行業
策劃、編輯主要就是復制、粘貼這類的重復性的工作,但是也需要對常見的代碼熟知且了解,慢慢的他們也開始了解web前端這一行業,比一般性的文字工作有趣,並且經過深入的學習,最終也能獲得一份高薪收入,因此也有許多人轉行來學。
後台操作工程師轉行
作為與代碼有關的工作,更適合程序員學習,其思維方式相似。像淘寶第一位前端工程師本身是寫Java的,經常也聽到有面試後台程序員結果被推到前端然 後被錄取的,很多後台轉戰前端的程序員,大多去做Web Apps,即基於Ajax和各種復雜架構的Web運用,而這一技術方向,也是Web前端的大勢所趨。
有意向學習前端的同學推薦大家去B站搜索 尚學堂前端學院 裡面有很多的學習資料 力薦
希望會給大家帶來幫助!
3. 學習web前端要注意什麼工作中最常用的技術是什麼怎樣著手學更快
都說前端入門低,想學好前端絕對不容易,可以說現在前端所需要掌握的技能超過後端和以往,新技術概念層出不窮,到底所謂的前端都應該幹些什麼都應該會寫什麼呢?
本人身邊有太多的人會切幾張圖, 會用jQuery做個特效, 會從bootstrap里復制粘貼, 會用html游戲框架寫個flappy bird, 會在Github里找各種模板自和庫拼拼湊湊, 就口口聲聲大言不慚的稱自己為前端工程師. 說什麼前端好簡單啊, 前端找工作好難啊, 沒有出路啊, 想轉行啊. 甚至有更多的人還不明白什麼是HTML, 就到處問(知乎里尤其多)怎麼開始學前端啊, 前端前景好不好啊. 依照本人的經驗, 什麼東西難不難, 什麼東西好不好, 可不是這樣問出來的. 我相信在這在這種網路信息資源及其豐富的年代, 花個半小時自行搜索一下你應該可以得到你想要的答案.
好了言歸正傳, 前端工程師真的是一個無關緊要的職位么? 我們先來看看前端工程師都要做些什麼, 看看那些稱自己是'所謂'的前端同學們都能走到哪一步.
這里直接跳過最基本的HTML+CSS+JS, 包括但不僅限於:
- HTML各種element怎麼用什麼時候用?
- Event? EventLitsener? HTML中觸發event以及JS中處理event?
- DOM tree? 添加? 修改? 刪除? 搜索? 遍歷? 選擇? children? parent? sibling?
- 什麼是window? 什麼是document?
- JS基本語法? function? loop&condition? scope&closure? array&object? this?
- CSS 什麼是box modal? position? float? 各種選擇器(*, >, ~, :nth-child)?
如果看到這里有任何一項完全沒聽說過沒用過, 或者查各種文檔後'大概'知道怎麼用的同學們, 很遺憾, 你們現在算不上是一個合格的前端工程師. 如果不是, 請繼續.
### 程序員的基本素質和知識
(有些人覺得前端不同於傳統意義上的程序員, 這點我十分不贊同. 或許把前端工程師叫做JS程序員更加貼切, HTML和CSS就好比其他語言中的UI庫)-
- 高數, 基本的概率統計 (連簡單的微分方程都不會解的朋友們就不要稱自己為前端人員了!)
- 基本數據結構 能用JS寫出linked list, stack, queue, (binary)tree, graph, hashtable么?
- 基本演算法 能用JS實現各種search(linear, binary..), 各種sort(bubble, insertion, merge, quick, selection), 以及樹的搜索(Breadth First/Depth First)和遍歷(3種順序)么?
- 設計模式 知道什麼是singleton, factory, strategy, decrator么?
- Git 不要只是停留在把Github當做一個網路儲存器的層面上, 知道branch, diff, merge么?
- 基本的英語能力(不要求聽說, 只用來讀/寫文檔資料)
- 基本的計算機知識 知道位運算, 溢出, thread, lock, concurrency, parallelism么?
- 熟悉unix的基本命令么? 知道ssh public/private key都是幹嘛的么?
- 知道正則么? 能夠熟練的使用么?
- 能寫出詳細的注釋/文檔, 讓閱讀你代碼的人知道你要幹嘛么? 能短時間內快速地讀懂來自你同事或者其他地方(github, blog)的代碼, 知道什麼東西應該寫在什麼地方, 以便迅速地參與其中么?
- 給你一個你從來沒有接觸過的庫/語言, 能能夠在較短的時間內在你的代碼里正確使用么?
- 有一個得心應手用的熟練地編輯器/IDE么? 不要求大家都是vim/emacs大神, 但也不要做什麼都是用滑鼠來點.
- 基本的檢索查詢能力(google, stackoverflow, MDN)
- 單獨思考解決問題的能力, 團隊合作, 與人相處
如果以上的內容都有所了解(這里不會強調精通), 恭喜你, 你擁有了成為前端工程師的基礎知識. 繼續.
### 前端專業知識
- 知道什麼是AMD, COMMONJS么? 知道call, apply, bind么? 知道JS中foreach, filter, some, every么? 知道怎麼實現functional JS(curry等)么?
- 知道各種所謂的高級HTML的API(File, Web Audio, WebSocket)么?
- 知道各種CSS Preprocessors么? 能講出他們各自的優點和缺點么? 熟悉並且會用其中的一種么?
- 知道各種CSS框架么? 能講出他們各自的優點和缺點么? 熟悉並且會用其中的一種么?
- 知道canvas, SVG么?
- 知道怎麼把你的東西做成responsive, cross-browser support么?
- 知道什麼是SEO並且怎麼優化么? 知道各種meta data的含義么?
- 知道什麼是Ajax, restful, get, post么? 知道怎麼和後台交互么?
- 知道各種JS框架(Angular, Backbone, Ember, React, Meteor, Knockout...)么? 能講出他們各自的優點和缺點么? 熟悉並且會用其中的一種或多種么?
- 知道什麼是webkit么? 知道怎麼用瀏覽器的各種工具來調試和debug代碼么?
- 知道現在前端一般的工作流程(gulp, grunt, git, svn, npm)么?
- 知道怎麼測試代碼么? 知道BDD, TDD, Unit Test么? 知道怎麼測試你的前端工程么(mocha, sinon, jasmin, qUnit..)?
- 知道前端templating(Mustache, underscore, handlebars)是幹嘛的, 怎麼用么?
- 知道npm, V8, node, express, socket么? (這里補充一點, 現在越來越多的公司都採用: '前端網頁 -> 前端後台 -> 後台'這種構架來搭建東西, 也就是說, 前端工程師不僅要做傳統前端的網頁, 還要寫自己的後台, 來跟真正的後台進行交互, 至於前端的後台用什麼語言來寫, 一般是node/python/ruby, 不太會用到龐大的java, 所以這里我把node列為前端工程師必須要掌握的技能之一) 知道cache, authentication么?
- (如果要用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
- 另外, 前端這個行業跟傳統的c/c++/java程序員還是有一定的差別的. 由於是新興產業, 所以各種行業標准, 框架, 庫會隨時隨地的產生和更新 (作為一個c程序員, 十年前怎麼寫東西現在還是怎麼寫東西). 今天出了node和react, 明天又出了io和mean. 所以, 積極關注各種前端產品, 跟上變化的節奏, 也是身為一個前端程序員必備的技能之一. 知道ECMAScript 6里怎麼寫class么? 知道react, flux, reflux么? 知道polymer, dart么? 知道meteor么?
以上是摘自知乎某大牛的文章=====
感覺對新人挺打擊的,不過理清從大體上重新認識前端對學習理解也有一定幫助,只要自己想好了就堅持下去,學前端的最重要的隨時學習能力,應該前端領域知識面涵蓋太廣,很多技術也不成熟,正在發展中,只能不停學習各種新技術新知識。。能分辨哪些技術是必須掌握的,哪些是少數人創造用來提」升逼格「的概念,能把PS+HTML+CSS+js玩熟,會一兩個框架,懂點設計。就可以了
4. 為什麼有的時候往一個地方復制文字只顯示一點
你說的單元格是指網頁上的文本框吧
在網頁製作的時候製作者就會按照一定的規則去設定每個文本框所輸入字元的最大限制 如果你超過了限制 只會從你復制的前端向後截取規定的字元數 其他的是輸入不進去的 當然你的剪切板上還有 只是該網頁的文本框不允許顯示
5. web前端適合哪些人學習
web前端適合對互聯網行業有興趣,但基礎較差的同學學習。
其實掌握了方法,前端學起來真的不會特別難。吃力的原因,可能在於學習順序不太對,比如先去學習了最難的一部分,所以感覺比較吃力。
web全棧工程師5.0課程包括:
①計算機基礎以及PS基礎
②前端開發基礎(HTML5開發、JavaScript基礎到高級、jQuery網頁特效、Bootstrap框架)
③移動開發
④前端高級開發(ECMAScript6、Veu.js框架開發、webpack、前端頁面優化、React框架開發、AngularJS 2.0框架開發等)
⑤小程序開發
⑥全棧開發(MySQL資料庫、Python編程語言、Django框架等)
⑦就業拓展(網站SEO與前端安全技術)
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
6. 剛入行前端編程,基礎很薄弱,感覺很迷茫,請問該怎麼學習
慕課網找視頻,或者網上有人會發布免費的視頻。先基礎,在高級,webaoi,es6。
7. 大公司和小公司的Web前端在工作要求上有什麼區別
今天小編要跟大家分享的文章是關於大公司和小公司的web前端在工作要求上有什麼區別?在互聯網大廠和小廠工作,到底有什麼不一樣的呢?其實我個人覺得,不管從開發流程、代碼要求還是工具應用上,都是有比較明顯的區別的。下面小編就來跟大家分析一下小廠和大廠的區別,希望能給大家一些幫助。
一、開發流程上的區別
1、通常開發流程
項目立項->需求評估->模塊劃分(按業務)->基礎架構建設->交付任務開發
2、開發流程的區別
大廠與小廠的開發流程是區別最大的,也是我剛開始最頭疼的。
剛開始在小廠工作,沿用的都是Vue-cli弄下來,然後直接寫代碼的套路。
但是大廠一般都是多人合作的大型項目,都會有自己的初始化模版。裡面已經寫好了一些規范檢查,項目專用的
Webpack配置,一些基礎模塊(如登陸,驗證,側邊欄)。每一個開發人員,只需要下載這套模版,然後寫自己的業務部分就行了。
3、測試區別
很多小廠由於成本的原因都沒有測試環節,但是負責大廠的大項目,持續集成,e2e,單元測試都是必不可少的。
業務部分必須測試覆蓋率達到標准才允許發布。我在剛進入現在這家公司時,也是十分不適應,讓人抓狂。
所以其實對於很多人來說,真正缺少的不是寫項目的能力,而是這一系列的工程化實踐。
二、代碼要求的區別
小廠在寫代碼的時候很多都是復制粘貼,只要能跑就行,但是,大廠的一般項目都會配置有嚴格的規范。每個項目的
eslint都是自定義去編寫的,保證大家產出代碼的風格。
除此之外,大廠對於代碼的質量要求更高,剛開始進來時寫出來的代碼,經常被檢查的人批可擴展性不好,健壯性不好。
好在平時技術氛圍還是比較濃厚,大家會經常交流設計模式與各種好代碼,好思想,在這樣的渲染下,也很快適應了下來。
而且再也不敢寫垃圾代碼了,因為大家都在追求高質量代碼,而非能跑就行。
是不是看完覺得有點很頭疼,確實對於在小廠工作習慣的程序員來說,這些東西是最不擅長的。
但是目前前端競爭激烈,優勝劣汰,我們確實又必須擁有這樣的能力。
因為這些工程化的能力,和寫出好代碼的能力,直接決定了你是一個碼農,還是一個工程師。
以上就是小編今天為大家分享的關於大公司和小公司的web前端在工作要求上有什麼區別的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助。想要了解更多web前端相關之記得關注北大青鳥web培訓官網。最後祝願小夥伴們工作順利!