開源程式設計學習應用 Growth 釋出 3.0,在碎片時間裡練習

Phodal發表於2017-07-20

Growth 1.0~2.0 已經有 2101 次提交,而 Growth 3.0 則已經擁有了 900+ 提交。這意味著 Growth 整個專案有多達 3000 次提交,感謝每一個為 Growth 專案作為貢獻的開源先鋒。

特別感謝:@travelgeezer 為 Growth 3.0 編寫了大量的功能。

現在,讓我來開啟裝逼模式。

使用 React Native 重寫,效能提升了 N + 1 倍

在 Growth 1.x 裡,我們使用了 Ionic 1.x + Angular 1.x 來開發,而當時 Angular 1.x 已經過時了。

在 Growth 2.x 裡,我們使用了 Ionic 2.x + Angular 2.x~4.x 重寫了一遍,而我們發現效能不能讓人滿意。

因此在 Growth 3.x 裡,我們使用了 React Native 重寫了整個應用,再一次。

使用 React Native,從開發速度上來說,真心沒有 WebView 來得快,但是效能上的提升是有目共睹的。至少,開啟速度比原來快了好多倍。如我們所料,RN 的坑很多,過些日子,我再寫一篇文章吧。

現在,讓我們再看看 Growth 這個應用裡,有什麼新功能。

LeetCode 試題,適合於地鐵思考模式

記得很多新手程式設計師問過我,他們每天要在地鐵上花很多的時間,有什麼東西可以在這段時間學習的。看書吧,不是很合適,如我這樣的人就容易因引此而暈車——所以我一般不喜歡在公交車上玩手機。我給的答案是:這個時候適合思考問題

那麼,在這個時候可以來一個 LeetCode 題,每天在路上成長一點點。LeetCode 據說是,一些經典的公司用來面試應聘者的面試題。

LeetCode

目前相應的題目是在 GitHub 上的,下載速度有點慢,希望有產商可以提供個伺服器,哈哈哈~~。

如果你每天要在地鐵上站一小時,那麼請帶上一個 LeetCode 問題練習。

演算法動畫學習工具

基於 AlgorithmVisualizer

既然,我們已經有了那麼多演算法題,那麼我們也應該在手機上學習。於是,Growth 的使用者 @ ivanberry 便提出了可以參考:https://visualgo.net/en,可是這個是不開源的。

找了一二個星期,看到了 Algorithm Visualizer 專案,它可以用動畫展示演算法、展示每一步的執行過程、擁有相應的示例程式碼。便花了兩星期的時間,做成了下面的模樣。

Algorithm

上半部分的動畫內容是 WebView,下面則是 React Native。

如果你每天要等上半個小時的公交,那麼不妨學一個演算法知識。

正規表示式練習

基於 Regexper

同樣的這個功能,也是由 Growth 使用者 @allmelgr 提出來的,他對於 regexer.com 的評價是:用過的人都說簡單易懂。是的,一看就懂的樣子:

Regex

而為了更方便的學習,便結合 RegexHub 提供一些正規表示式示例,只需要選擇對應的正規表示式,就可以展示 相應的正則關係。

如果你每天要在公交車上坐一小時,那麼不妨練習一人小時的正則。

設計模式簡介

基於 Design Patterns for Humans

既然我們都已經有演算法和資料結構、正規表示式,我便將 GitHub 上的 Design Patterns for Humans 也整合了到 APP 裡。

Design Pattern

如果你已經能完成工作,但是迷茫,那麼試試設計模式

內建 VS Code 的編輯器

基於 Monaco Editor

既然都已經有了 LeetCode,那麼我們應該還有一個編輯器。找了幾天,終於找到將 VisualStudio Code 的同款編輯器 Monaco Editor 整合進去了。

Code

而顯然它不僅僅是一個編輯器,它還可以執行 JavaScript 程式碼,一個『偉大的手機 IDE』就此誕生了。輸入完程式碼,點選執行,即可執行程式碼。console.log 會以 Toast 的形式展示出來。

這絕逼是我在 Growth 做的最吊的,但是沒有什麼卵用的功能。

如果你想試試某行程式碼,那麼試試新的編輯器。

成長路線與技能樹

依舊的,仍然可以在上面看到技能樹,並且速度更快了:

SkillTree

如果你對某一個領域迷茫,那麼來看看對應的技能樹。

與此同時,我們更新了一下成長路線:

Roadmap

如果你對某一個領域迷茫,那麼來看看對應的學習路線。

未來,我們將結合網上的資源,整合學習路線和技能樹——如果有更多的人來參與的話。

Awesome 列表

基於 Awesome

某一天,我在對著 Awesome React Native 發呆的時候,便順手整合了 Awesome Awesomes 專案——寫了個指令碼,解析 awesome 專案生成對應的 JSON 檔案。

Extends

不過就是這個列表有點太長太長太長太長太長,即使使用了 RN 的 FlatList 也不能很好地解決問題。

如果你找不到合適的靈感,那麼不妨看看 Awesome 列表吧。

開源電子書

基於免費的程式設計中文書籍索引

有一天,我在想雖然我號稱是最偉大的『md程式設計師』,但是一個我,肯定比不上一百個我的寫作速度快。於是,我們便想將那些在 GitHub、GitBook 上的書,製作成方便在手機上閱讀的內容。便有了:

Extends

實際上,這個功能實現得是最早的。但是在當前並沒有什麼用,當前只是連結。未來,將製作對應的 API 來獲取不同書的內容,就是工作量有點巨大巨大巨大巨大巨大。

如果你找不到免費的電子書,那麼試試開源的程式設計中文書籍。

Growth

在 Growth 3.0,Growth 原先的內容仍然還在,只是還有一些 Bug,啊哈哈

Growth

對於支援 Growth 指南對應的紙質書籍《全棧應用開發:精益實》,覺得好的就給個好評,差的就算了吧~~。

如果你想成長頂尖開發者,那麼試試 Growth 吧~。

Discover

在探索欄目裡,我們依舊準備了豐富的閱讀、練習資源。

Discover

如果你覺得無聊,那麼可以在探索和社群裡,瞭解更廣泛的世界。

So

這就是 Growth 3.0,讓你練習更多。

這就是 Growth 3.0,讓你練習更多。

這就是 Growth 3.0,讓你練習更多。

PS:應用已在 App Store、Google Play、應用寶、小米應用商店、360應用商店上架,其它使用者可以從應用寶 直接下載 APK。

歡迎到 GitHub 來支援我們的開發:https://github.com/phodal/growth

相關文章