零基礎學Web前端路線,送給零基礎初學者

来源:https://www.cnblogs.com/Aa123321/archive/2018/11/21/9994416.html
-Advertisement-
Play Games

前端工程師,也叫Web前端開發工程師。他是隨著web發展,細分出來的行業。Web前端開發技術主要包括三個要素:HTML、CSS和JavaScript!它要求前端開發工程師不僅要掌握基本的Web前端開發技術,網站性能優化、SEO和伺服器端的基礎知識,而且要學會運用各種工具進行輔助開發以及理論層面的知識 ...


前端工程師,也叫Web前端開發工程師。他是隨著web發展,細分出來的行業。
Web前端開發技術主要包括三個要素:HTML、CSS和JavaScript!
它要求前端開發工程師不僅要掌握基本的Web前端開發技術,網站性能優化、SEO和伺服器端的基礎知識,而且要學會運用各種工具進行輔助開發以及理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持等。
隨著近兩三年來RIA(Rich Internet Applications的縮寫,中文含義為:豐富的網際網路應用程式)的流行和普及帶來的諸如:Flash/Flex,Silverlight、XML和伺服器端語言(PHP、http://ASP.NET,JSP、Python)等語言,前端開發工程師也需要掌握。

前端開發的入門門檻其實很低,與伺服器端語言先慢後快的學習曲線相比,前端開發的學習曲線是先快後慢。
HTML 甚至不是一門語言,他僅僅是簡單的標記語言!
CSS 只是無類型的樣式修飾語言。當然可以勉強算作弱類型語言。
Javascript 的基礎部分相對來說不難,入手還算快。

我還是要推薦下我自己創建的web前端資料分享群606721798,這是web前端學習交流的地方,不管你是小白還是大牛,小編都歡迎,不定期分享乾貨,包括我整理的一份適合零基礎學習web前端的資料和入門教程。

也正因為如此,前端開發領域有很多自學成“才”的同行,但大多數人都停留在會用的階段,因為後面的學習曲線越來越陡峭,每前進一步都很難。

Web前端技術有一些江湖氣,知識點過於瑣碎,技術價值觀的博弈也難分伯仲,即全局的系統的知識結構並未成體系,這些因素也客觀上影響了“正統“前端技術的沉澱!而且各種“奇技淫巧”被濫用,前端技術知識的傳承也過於泛泛,新人難看清時局把握主次。因此,前端技術領域,為自己覓得一個靠譜的師兄,重要性要蓋過項目、團隊、公司、甚至薪水。

另一方面,正如前面所說,前端開發是個非常新的職業,對一些規範和最佳實踐的研究都處於探索階段。
總有新的靈感和技術不時閃現出來,例如CSS sprite、負邊距佈局、柵格佈局等;
各種JavaScript框架層出不窮,為整個前端開發領域註入了巨大的活力;
瀏覽器大戰也越來越白熱化,跨瀏覽器相容方案依然是五花八門。
為了滿足“高可維護性”的需要,需要更深入、更系統地去掌握前端知識,這樣才可能創建一個好的前端架構,保證代碼的質量。

隨著手持設備的迅猛發展,帶動了 HTML5行業標準的快速發展。web領域的技術,大概有10年都沒有大的更新了!
現在市場很需要優秀的、高級的前端工程師。
一方面是因為這是一個比較新的細分行業,而且前端程式員大都自學一部分,知識結構不系統;另一方面,大學裡面沒有這種課程。

吳亮在《JavaScript 王者歸來》第一張的序裡面說:大多數程式員認為 Javascript 過於簡陋,只適合一些網頁上面花哨的表現,所以不願花費精力去學習,或者以為不學習就能掌握。
實際上,一門語言是否腳本語言,往往是她的設計目標決定,簡單與複雜並不是區分腳本語言和非腳本語言的標準。
事實上,在腳本語言裡面,Javascript 屬於相當複雜的一門語言,他的複雜度即使放在非腳本語言中來衡量,也是一門相當複雜的語言!
Javascript 的複雜度不遜色於 Perl 和 Python!

如何學習前端知識?

我們生活在一個充滿規則的宇宙裡面。社會秩序按照規則運行,電腦語言幾乎全部是規則的集合。電腦前輩們定義規則,規則約束我們,我們用規則控制數據。大部分時候,對數據的合理控制,來自於你對規則的掌握。

學習 HTML,CSS 應該先跟著書仔細、扎實的學一遍。然後就需要做大量的練習,做各種常規的、奇怪的、大量的佈局練習來捆固、理解自己的知識。
而學習 Javascript 首先要知道這門語言可以做什麼,不能做什麼,擅長做什麼,不擅長做什麼!
如果你只想當一個普通的前端程式員,你只需要記住大部分 Javascript 函數,做一些練習就可以了。
如果你想當深入瞭解Javascript,你需要瞭解 Javascript 的原理,機制。需要知道他們的本源,需要深刻瞭解 Javascript 基於對象的本質。
還需要 深刻瞭解 瀏覽器宿主 下 的 Javascript 的行為、特性。

因為歷史原因,Javascript一直不被重視,有點像被收養的一般! 所以他有很多缺點,各個宿主環境下的行為不統一、記憶體溢出問題、執行效率低下等問題。
作為一個優秀的前端工程師還需要深入瞭解、以及學會處理 Javascript 的這些缺陷。

那麼一名優秀的、甚至卓越的 前端開發工程師的具備什麼條件

首先,優秀的Web前端開發工程師要在知識體繫上既要有廣度和深度!做到這兩點,其實很難。所以很多大公司即使出高薪也很難招聘到理想的前端開發工程師。技術非黑即白,只有對和錯,而技巧則見仁見智。
在以前,會一點Photoshop和Dreamweaver的操作,就可以製作網頁。
現在,只掌握這些已經遠遠不夠了。無論是開發難度上,還是開發方式上,現在的網頁製作都更接近傳統的網站後臺開發,所以現在不再叫網頁製作,而是叫Web前端開發。
Web前端開發在產品開發環節中的作用變得越來越重要,而且需要專業的前端工程師才能做好。
Web前端開發是一項很特殊的工作,涵蓋的知識面非常廣,既有具體的技術,又有抽象的理念。簡單地說,它的主要職能就是把網站的界面更好地呈現給用戶。

其次,優秀的Web前端開發工程師應該具備快速學習能力。Web發展的很快,甚至可以說這些技術幾乎每天都在變化!如果沒有快速學習能力,就跟不上Web發展的步伐。前端工程師必須不斷提升自己,不斷學習新技術、新模式;僅僅依靠今天的知識無法適應未來。Web的明天與今天必將有天壤之別,而前端工程師的工作就是要搞清楚如何通過自己的Web應用程式來體現這種翻天覆地的變化。
說到這裡,我想起了一個大師說過的一句話:對於新手來說,新技術就是新技術。
對於一個高手來說,新技術不過是就技術的延伸。
再者,優秀的前端工程師需要具備良好的溝通能力,因為前端工程師至少都要滿足四類客戶的需求。

1、產品經理。這些是負責策劃應用程式的一群人。他們會想出很多新鮮的、奇怪的、甚至是不可是實現的應用。一般來說,產品經理都追求豐富的功能。

2、UI設計師。這些人負責應用程式的視覺設計和交互模擬。他們關心的是用戶對什麼敏感、交互的一貫性以及整體的好用性。一般來說,UI設計師於流暢靚麗、但並不容易實現的用戶界面,而且他們經常不滿前端工程師造成 1px 的誤差。

3、項目經理。這些人負責實際地運行和維護應用程式。項目管理的主要關註點,無外乎正常運行時間、應用程式始終正常可用的時間、性能和截止日期。項目經理追求的目標往往是儘量保持事情的簡單化,以及不在升級更新時引入新問題。

4、最終用戶。指的是應用程式的主要消費者。儘管前端工程師不會經常與最終用戶打交道,但他們的反饋意見至關重要。最終用戶要求最多的就是對個人有用的功能,以及競爭性產品所具備的功能。

Yahoo 公司 ,YUI 的開發工程師 Nicholas C. Zakas 認為:
前端工程師是電腦科學職業領域中最複雜的一個工種。絕大多數傳統的編程思想已經不適用了,為了在多種平臺中使用,多種技術都借鑒了大量軟科學的知識和理念。成為優秀前端工程師所要具備的專業技術,涉及到廣闊而複雜的領域,這些領域又會因為你最終必須服務的各方的介入而變得更加複雜。專業技術可能會引領你進入成為前端工程師的大門,但只有運用該技術創造的應用程式以及你跟他人並肩協同的能力,才會真正讓你變得優秀。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一般視窗分為兩種情況 : 1、window.open 瀏覽器樣式視窗 ⑴ 屬性:window.open('index.html', 'newpage', 'height=800, width=60, top=20, left=50, toolbar=no, menubar=no, scrollbar ...
  • 總體思路是在table外部加個div,修改div的innerHtml實現改變tr順序的效果 具體思路是 獲取當前要移動tr行的rowIndex,在table中刪除掉,然後迴圈table的rows,到了目標行再直接加進去,最後把整體的html賦值給div完成效果 js代碼如下 測試html代碼如下 ...
  • 為table設置最小寬度,當超過最小寬度的時候會auto。直接設置為width:auto , 並不能起到這個效果。 ...
  • 今天項目比較催的比較著急,瀏覽器總是崩潰,後來報了一個Uncaught RangeError: Invalid string length(字元串長度無效) 的錯誤。 在ajax請求後得到的json數據,遍歷的時候chrome控制台報這個錯誤:Uncaught RangeError: Invalid ...
  • rem是指相對於根元素(html)的字體大小的單位,他是一個相對單位,我們現在有很多人用的都是px,但px是一個絕對單位,遇到解析度不同的設備,做出的頁面可能會亂,這就給我們造成了很大的影響,而且後期的修複也很費時間,所以rem是一個很不錯的適配方法。 下麵直接進入例子: 在這裡設置html的fon ...
  • 因為圖片是動態創建的,在插件開始初始化時,文檔流中沒用圖片,故沒有創建相應寬度。通過調整js載入順序,問題還是沒有解決。 最後找到swiper插件 api 有屬性是可以根據內容變動,自動初始化插件的,添加observer:true後問題解決! var mySwiper = new Swiper (' ...
  • 表達式全集 常用正則表達式 ...
  • Button組件 button.vue Radio組件 radio.vue 解析: (1)組件的html結構 整個組件是一個外層label嵌套兩個span。label放在最外面的作用是擴大滑鼠點擊範圍,點擊文字或者input都能觸發響應。 第一個 表示圓形按鈕,裡面的span就是模擬的圓圈,inpu ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...