所以語言來學習都有共同之處。作為一名年輕數的前端開發轉的話,如果從零到一去學習前端開發知識,我給出以下建議。
第一,學習HTML和CSS的基礎知識。這里你需要熟悉HTML各個標簽的功能和作用,學習css的各種屬性等。因為你拿到美工提供給你的設計之后,把它開發成一個精美頁面,就在是內容來說,需要HTML和css的知識。如果你不清楚每一個屬性是什么樣子的,那么你在開發的時時候效率比較低,還先查一下需要用什么屬性再進行開發。
這類知識的學習可以充分利用目前的在線平臺,例如菜鳥教程,慕課網等等。如果你想通過書本學習,可以找銷量比較高的書。
第二點,學習JavaScript相關知識。在前端里js是非常重要的,頁面中的聯動數據處理,或者是彈窗或者是一些觸發事件等等,都是需要js來實現的。
js就要比html和css復雜很多,你可以用js實現一個算法,而另外兩種不能。書籍的話推薦《avaScript DOM 編程藝術》、大厚本里Zakas的《JavaScript高級程序設計》 、犀牛書《JavaScript權威指南》、《高性能JavaScript》等等
JavaScript學習可以參考上面提到,從零到一,從一到N,循序漸進掌握。此外,還需要學習AJAX、jQuery相關知識,一個是跟后端交互,一個是快速、簡潔的JavaScript框架。
第三點,學習前端框架web前端三大主流框架都是Angular、React、Vue。前端框架的使用可以讓你如虎添翼,更方便快速的開發。
(1) Angular
Angular原名angularJS誕生于2009年,之前都是用jquery開發,自從angular的出現讓開發者有了新的選擇,這個框架之前開發中有使用過,它把后端的一些開發模式移植到前端來實現,如MVC、依賴注入等。
(2) React
React,facebook出品,正式版推出是在2013年,比angular晚了4年,但得益于其創新式的VirtualDOM,性能上碾壓angularJS,一經推出,火的一塌糊涂。 特點很多,VirtualDOM、JSX、Diff算法等,支持ES6語法,采用函數式編程,門檻稍高,但也更靈活,能讓開發具有更多可能性。
(3) Vue
Vue作為最晚推出的框架(2014年),借鑒了前輩angular和react的特點(如VirtualDOM、雙向數據綁定、diff算法、響應式屬性、組件化開發等)并做了相關優化,使其使用起來更加方便,更容易上手,比較少適合初學者。國內目前使用vue的開發者越來越多,的確也比較好用
第四點,著手開發一個練手的應用。除了一系列基礎知識的學習之外,必要的開發練習還是很重要的。你在學習基礎知識的時候同時加以練習,這樣你可以知道每一個變量它具體實現的是什么樣的效果。
其實是將你學過的所有知識給我廢話哦。開發一個完整的應用,將你所學的知識盡可能的應用其中,這樣對你會有更大的提升,因為學習編程語言的目的最終的結果就是開發出一個完整的應用。我實際開發應用的過程中,你就會知道某個方法在具體場景下如何使用。
你好,前端相對于其他的入門還算簡單,基礎知識主要是html,css,javascript,然后就是vue,react框架,還有網絡請求ajax,以及http協議。有疑問可以私信給我,美少女鎮樓
網頁制作的前端需要學習
1、html語言
首先要學這個,任何網頁的顯示都要靠html語言來表達,瀏覽器解釋html語言顯示在我們面前。
2、服務器架設
要制作網頁就需要架設服務器來調試你做出來的網頁,有iis等很多種,可以在網上搜索得到。
3、css語言
用網頁制作三劍客做出來的東西,css大部分是自動生成的,很難理解,需要學習基本的css知識,是步入高手的必經之路。css控制著網頁圖片、表格、文字等等內容在我們面前的顯示樣式,比如顏色,邊框,大小等。
4、divcss布局
這個東西是走向專業制作的必經之路,網頁元素靠它來搭建基本框架,像百度空間,QQ空間的皮膚等就是利用這個來做的。
5、數據庫
走向動態網頁的基礎,比如百度知道的提問回答這些,都涉及數據庫的讀、寫、改、刪。常見的數據庫有mysql、mssql、access等。數據庫是所有軟件的基礎,80%以上的應用程序都涉及數據庫,而作為網頁制作來說沒有必要學得很深,夠用就行。
6、動態語言,asp,php,jsp,.net(c#等)
要操作數據庫,交互就需要動態語言,現在好多動態語言像php都有“框架”,用框架建站好比用活動板房的零件建房子,全部自己寫好比一塊一塊磚砌房子。
7,java
網頁里面的驗證碼,彈窗,特效等就靠它了,一個沒有java的頁面基本沒有,這個也有好多的框架可用,這個語言是難的,也是強大的,網頁木馬,病毒大多用這個語言。
8、平面涉及軟件
flash,photoshop等,頁面美化還要靠圖片等東西。
這些個東西你會一個,或者一個都不會,都能做出一定水平的網頁(用三劍客,或者直接用word做好后另存為htm文件就行),要深入的學,這些知識基本的。
網頁制作的后端需要學習1. 學習一門語言
語言的選擇有很多種,為了方便您的選擇,我將它們進行了分類。對于剛接觸后端開發的新手,我強烈建議你們選擇一門腳本語言,因為它們的需求很多且上手較快。最好的選擇當然是Python,它的需求正在急速增長,有大量的職位可供選擇。
2. 學以致用
最后的學習方法就是動手實踐。一旦你選擇了語言,然后對其有了基本的了解,開始使用它。運用它進行盡可能多的練習,寫一些小程序練手,熟悉它。下面是一些小例子,可以幫助你開始。
* 實現一些bash中你常用的命令, 比如ls的功能
* 寫一個從reddit的/r/programming頻道抓取數據并將之保存為JSON格式的小程序
* 寫一個程序將目錄結構保存為JSON文件。
* 根據上面生成的JSON文件,生成目錄結構。
* 想想日常工作中的任務,嘗試將之自動化。
3. 學習包管理器
一旦你了解了語言的基礎,同時用它寫過些示例程序,接著學習該語言的包管理器。包管理器可以幫助你使用第三方庫,同時你也可以通過它發布自己的庫以供他人使用。
假設你選擇的是Python,你應該已經學習了Pip。Node.js有NPM或Yarn、PHP有Composer,Ruby有RubyGems。無論你選擇了什么,進一步去學習它的包管理。
4. 規范以及最佳實踐
每一種語言有其規范以及最佳實踐。你需要掌握這個東西。比如Python有PEP8跟Google Python代碼規范。Node.js各社區有不同的規范。其他語言的狀況也大同小異。
5. 安全
務必要掌握安全最佳實踐。讀讀OWASP指南,了解不同的安全問題,同時要知道如果避免這類問題。(你選擇的語言)
6. 實踐
現在你已經掌握了語言基礎,最佳實踐,安全相關以及包管理,你可以去開發自己的庫供他人使用了。如果你用Python,你需要發布在Pypi,如果是Node.js,你需要發布在Npm。
到此,你可以在Github上找一些項目,參與進去。
* 重構,實現你學到的最佳實踐
* 修復已知的問題
* 添加新的功能
7. 測試
測試分很多種,要了解每一種測試的類型以及其目的。但是現在,首先學習單元測試以及綜合測試,應用在你的程序中。此外,還要了解不同的測試術語,比如mocks,stubs等等。
8. 實踐-測試
為你所寫的所有程序編寫單元測試,特別是在Github上參與的項目。
同時,學習覆蓋率的概念,計算測試代碼的覆蓋率。
9. 關系型數據庫
學習利用關系型數據庫保存你的數據。在學習之前,首先掌握數據庫相關的術語。比如:keys,indexes,normalization,tuples等。
可供選擇的數據庫很多,你只需要掌握一個,其他的也會變得很簡單。流行的有MySQL,MariaDB(MySQL分支,與之非常相似),PostgreSQL。推薦選擇MySQL開始。
10. 動手時間 - 實踐
到了將所學融合的時候了。
創建一個簡單的應用,運用你所學的一切。實現一個想法,可能是創建一個簡單的博客站點,實現一下的特性:
* 賬戶系統——注冊&登陸
* 注冊用戶可以創建blog
* 用戶可以查看自己創建的所有的blog
* 用戶可以刪除自己發布的blog
* 保證用戶只能看到自己發布的blog,不能看其他人的
* 為應用編寫單元/綜合測試
* 為查詢創建索引。分析查詢,確保索引生效
11. 學習一個框架
根據你的項目類型以及你的語言的不同,你可能會需要一個框架輔助開發。(也可能不需要)。每種語言都有不同的選擇,選擇一個合適的即可。
如果你選擇了Python,建議你選擇Django,對于微框架,建議Flask。
對于Node.js,最知名的框架是Express.js。
12. 實踐-框架
利用選擇的框架重構你的博客應用。不要忘記了集成測試代碼進來。
13. 學習NoSQL(not only SQL)數據庫
首先了解什么是NoSQL,以及它們與關系型數據庫的差別,同時為什么需要它們。NoSQL數據庫也有多種選擇,了解并比較它們之間的特性以及不同之處。常用的有MongoDB,Cassandra,RethinkDB,Couchbase。建議選擇MongoDB開始。
14. 緩存
學習如何在你的程序中實現應用級的緩存。了解如何利用Redis或Memcached實現緩存,同時在你的博客應用中實現緩存功能。
15. 創建RESTful APIs
了解REST,學習如何編寫RESTful APIs,閱讀關于REST的白皮書。(By Roy Fielding)。理解REST不僅僅是HTTP APIs。
16. 學習不同的認證方法
學習不同的認證以及認證方式。你需要明白它們是什么,它們的不同點,以及它們適用的場景。
* OAuth--Open Authentication
* Basic Authentication
* Token Authentication
* JWT--JSON Web Tokens
* OpenID
17. 消息代理
學習消息代碼,了解什么時候以及為什么使用它們。有很多可供選擇,最知名的是RabbitMQ & Kafka。建議從RabbitMQ開始學習。
18. 搜索引擎
隨著應用程序規模的增長,簡單的查詢已經無法滿足要求。這個時候,你需要用到搜索引擎。同樣有多種選擇,每一種有自己的特點。
19. 學習使用Docker(容器)
Docker可以為你的開發提供巨大的便利。它可以讓你的開發環境與生產環境保持一致,可以讓你的系統保持干凈,可以加速你的編碼,可以測試部署。Docker的好處,請自行google。從現在開始,學習Docker。
20. Web服務器的知識
到了這個時候,你可能已經處理過服務器相關的問題。這一步驟主要是了解不同的服務器之間的差異,局限,以及不同的調優方法。
21. 學習Web Sockets
雖然不是必須,但是具備Web Sockets的技能是有好處的。學習編寫實時的web應用。可以在博客應用中,實現即時更新blog列表。
22. 學習GraphQL
學習GraphQl的APIs。了解它與REST的不同,然后為什么它被稱之為REST 2.0。
23. 研究Graph數據庫
Graph模型具備非常好的靈活性——在處理數據間的關系的時候。Graph數據庫提供高速&高效的存取以及查詢。學習了解Neo4j或者OrientDB。
24. 不停探索
在你的學習以及實踐過程中,肯定會碰到路線圖里沒有提及的東西。你只需要保持開放以及饑渴去學習新的東西。
時刻謹記,學習的關鍵是實踐。多動手!剛開始的時候,你可能會感覺不大好,隨著你的堅持以及時間的推移,你會變得越來越好。