譯者按: Github上資源很多,關鍵在於如何有效挖掘!
- 原文: Want to be a top developer? You should build things. Here’s another list to get you started.
- 譯者: Fundebug
為了保證可讀性,本文采用意譯而非直譯。另外,本文版權歸原作者所有,翻譯僅用於學習。
只有努力去實踐,你才可能成為一個厲害的開發者!我舉一個形象的例子:你不可能因為僅僅讀了幾本如何健身的書就變得身材棒棒噠,你真正需要的是去健身房揮灑汗水。編程也有同樣的奧妙在里面。
這里我列出8個很棒的項目可以用來鍛煉你的編程“肌肉”!目標是使用任何你熟悉的技術把每一個應用實現出來。當然,寫代碼少不了會寫bug,Debug就用Fundebug!
1. 克隆Trello
這里是Indrek Lasn的一個Demo: Cloned Trello。
克隆一個Trello,你可以學到:
- 路由技術(Routing)
- 拖放技術(Drag and drop)
- 創建新的對象(面板、列表、卡片)
- 處理輸入並且驗證數據
- 客戶端:如何使用local storage,將數據存到local storage,從local storage讀取數據
- 服務端:如何使用數據庫,將數據存到數據庫,從數據庫讀取數據
這里是一個用React和Redux實現的代碼示例: simple-trell
2. 管理面板
示例來自: laravel-5.4-crud-example on Github
這是一個簡單的CRUD應用,對於掌握基礎很有用。你會學到:
- 創建用戶、管理用戶
- 和數據庫交互:創建、讀取、編輯、刪除用戶
- 輸入驗證和表單處理
3. 虛擬貨幣追蹤(原生移動應用)
示例來自: react-native-redux-crypto-tracker on Github
這是一個原生應用,由Swift、Object-C、React Native、Java、Kotlin開發。
你會學到:
- 原生應用如何工作
- 從API獲取數據
- 原生應用如何布局
- 如何使用手機模擬器
4. 從0開始個性化配置自己的webpack配置
恩,從技術上說這不是一個應用,但是對於理解webpack底層如何工作十分有用。對於你來說,webpack不再是一個黑盒子(blackbox),而是一個非常強力的工具。
需求:
- 把es7編譯到es5。(基礎)
- 把jsx編譯到js或則.vue到.js。(你會學到loaders)
- 配置webpack開發服務器(dev server),以及模塊熱加載(hot reloading)。(vue-cli和create-react-app使用了這些技術)
- 使用webpack構建一個生產版本並部署到Heroku、now.sh或則Github pages。(你會學到如何部署webpack項目)
- 配置你最喜歡的css預處理器將scss、less、stylus編譯到css。
- 學會配合webpack使用image和svg。
這里有很多對於初學者的資源:How to setup Webpack +2.0 from scratch in 2017
5. 克隆Hackernews
每個人都喜歡去實現自己版本的hacker news - 我們也來吧^_^!
你會學到:
- 和hackernews API交互
- 創建單頁面應用
- 實現一些功能:查看評論、單個評論、個人資料
- 路由
這里是Hacker News的API文檔:Hacker News API。
6. Todo App
示例來自:todomvc官網
真的嗎?一個todo應用?已經有多少個了!是的,我知道。不過,聽我說,它如此流行是有原因的。
todo應用是一個掌握基礎知識很好的方式。可以嘗試用基本的vanilla JavaScript來編寫整個應用,然后再使用你最喜歡的框架或則庫再來寫一遍。
你會學到:
- 創建新任務
- 輸入驗證
- 過濾任務(完成、正在做、所有)。請使用filter和reduce函數
- 學習JavaScript的基礎
7. 一個可以排序的拖放列表
示例來自:atlassian/react-beautiful-dnd
對於理解拖放api很有用。如果你會使用這些api,那么比必然與眾不同。
你會學到:
- 拖放api
- 創建富UI
8. 克隆聊天應用(原生應用)
如果你同時會原生和網頁應用開發,那么你將超然於眾人!
你將會學到:
- Websockets(實時通訊)
- 原生應用如何工作
- 原生應用如何布局
- 原生應用如何路由
這些資源可以讓你忙一到兩個月了。來吧,開始動手吧!
以上提供的一些練習項目希望能夠助你鍛煉開發的能力,就像Fundebug能夠助你Debug一樣!