0%

img

前言

近年來在軟體開發領域可以說是必修課程越來越多,只會寫程式的人(Coder)似乎不能再稱作程式設計師(Programmer),一些比較有制度的公司也會透過教育訓練來提升軟體品質,但是就專案類型的公司似乎很難進化,因為不論是新技術或是新架構的導入都會有很多問題要突破,例如:人員流動率、專案交期,有些專案甚至是接案後才開始找人,所以很多新東西都變成遙不可及的理想甚至是幻想,今天筆者分享一些委屈求全的經驗。

閱讀全文 »

img

前言

在 Flutter 開發過程中,可以說大部分都環繞在 StatelessWidgetStatefulWidget 之間,無狀態的 StatelessWidget 主要是做一次性的建置(build),Flutter 在建構這個 Widget 時會去呼叫 build 方法一次。
img
最常使用的文件顯示 Widget - Text 便是 StatelessWidget,所以它在繪製完文字內容之後便不能再修改。
img
有狀態的 StatefulWidget 則是可以重複建置(build),它將建置動作交由 State 來處理,State 這個類別還提供一個 setState 方法,透過這個方法可以驅使 Flutter 再次呼叫 State 的 build 方法來重新建置 Widget,因此我們可以在 State 內宣告類別層級的變數來儲存資料,當build 方法重新建立 Widget 時,再將資料回填到對應的屬性,藉此達到狀態保留的功能。
img
最常使用的文件編輯 Widget - TextField 便是 StatefulWidget,我們每多輸入一個文字它會重新建置一次,但是他可以保留之前的內容(狀態)並將新輸入的文字累加進去。
img
剛說到 Text 無法重新建置,所以當呈現的文字內容要變更時,一般都是透過外層的 StatelessWidget 直接重新建立,當然如果需要保留它的狀態也必須透過外部暫存。

閱讀全文 »

img

前言

**運算子(Operator)可以說是程式語言最重要的功能之一,但是回想起來一開始學程式時卻是有點痛苦的回憶,因為它跟我們所學的數學邏輯有點像又有些差異,好像懂但又說不出個所以然,最後的結果就是圖法煉鋼,多寫幾次程式慢慢有感覺的就“好像”**懂了,但是有時候又會碰到無法解釋的邏輯,例如下面 JavaScript 的例子:
img

閱讀全文 »

img

前言

自從 Google I/O 公開 Flutter for Web 之後大家便開始瘋狂測試,似乎都忘了它目前只是預覽版本,接下來大家另一個期待便是 Flutter 什麼時候開始支援桌面系統,今天剛好看到一篇令人心動的文章-Flutter for Desktop: Create and Run a Desktop Application,這篇文章使用的是 Google 之前在 GitHub 上釋出的試驗性專案 flutter-desktop-embedding,這也意味著目前官方的進度,接下來當然實機測試看看了。

閱讀全文 »

img

前言

依賴注入(Dependency Injection) 可以說是降低程式耦合度最簡單的方法,我們預先將某種”資源”注入到程式內,然後可以在任何地方自由提起該”資源”,完全不必理會這個資源在哪建立又放置在哪,我們只要知道有某種機制可以在我們需要時幫我們提取我們所需要的東西,接下來我們就嘗試如何在 Flutter 上做到該效果。

閱讀全文 »

img

前言

Dart 一開始是由 Google 所推出的一種網頁程式語言,它改善了許多 JavaScript 的歷史包袱,但是很不幸的並沒有受到大眾的支持,反倒是 Microsoft 以 JavaScript 為基礎所發展的 TypeScript 因為原生支援 JavaScript,所以反而使用者日漸增長,不過 Dart 仍然持續默默的發展,在 Flutter 的加持下又重新受到大家的關注,如今 Flutter 藉由 Dart 可轉譯為 JavaScript 的特性,開始計畫性的侵蝕 Web App。

閱讀全文 »

img

前言

Dart 除了可以開發 Flutter 之外,其實也可以拿來開發 Web 程式,例如 AngularDartAqueduct,當然開發環境最重要的就是要安裝 Dart SDK,如果開發過 Flutter 的人大概都知道,我們所安裝的 Flutter SDK 其實已經包含了 Dart SDK,但是直接用它來開發 Flutter 以外的程式就會發現問題叢叢,上網搜尋有些人會說它是一個不完全的 SDK,建議另外再安裝完整的 Dart SDK 來開發,這不是很詭異的問題,難道 Flutter 是使用特製版本的 Dart SDK 嗎?今天我們就來嘗試補足它的不足之處。

閱讀全文 »

前言

買一把菜、A一把蔥,在省錢至上的市場上可以說是屢見不鮮,但是買一把菜還要送一盤牛肉這種不合理的行徑,在近幾年來可以說這不是一種常態而是已經變成一種生態,但是對於軟體專案來說你可以放棄測試轉嫁給客戶,你可以減少非必需的文件,但是可以省的事情其實只佔小部分的比例,這些都還不夠客戶砍一次價,既然要決定要留在這種生態中,cost down 是必然會面對的問題,但是如何”不合理的”縮減成本但又不違背自己的良知,那就真的要傷透腦筋了。

閱讀全文 »