2013年9月2日星期一

自製記帳軟件 - 工具


唐吉訶德的馬盾與
決定了要自製記帳軟件之後, 就要面對用什麼樣的工具來完成這個"唐吉訶德"式的壯舉. 畢竟唐吉訶德再荒唐也有一匹瘦馬, 一面皮盾, 和一支長予

"En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor." - Don Quijote de la Mancha

在 "自製記帳軟件 - 原因" 中已經簡單地說了罐頭式軟件的幾種主要限制: 彈性, 分工及版權. 為了要避免這幾種限制, 在決定工具前我花了不少時間去研究十多個廠商的開發軟件及資料庫伺服器的功能, 特性及版權. 在兼顧了自己的開發能力, 輔助工具, 價格及普及性後, 我決定了以Microsoft Access 及 MySQL Community Server 作前店後居式的配搭來開發自家製的記帳軟件.

前店
我知道很多IT人對 Microsoft Access 都是不屑一顧, 但是我選擇的原因是它可以大幅度減輕我開發的負擔, 尤其不用跟DLL打交道, 就已經功德無量, 更不用提它簡單的報表(Report)設計系統了. 另方面 Microsoft 一直很負責任地提供 Microsoft Access Runtime 給用戶免費下載, 令到在分發及佈署在客戶端時更方便容易. 當然 Microsoft Access 都有它的不足之處; 第一, 它是一個檔案式的資料庫管理系統; 第二, 資料檔容易損壞. 雖然有如此重大的缺點, 但是用作使用者介面(不儲存資料), 它的內建功能是可以讓我相對而言輕鬆地完成任務.

後居
選擇 MySQL Community Server 是一個折衷的方案. 自Oracle 於2009年收購並將 MySQL 納入為旗下產品線後, 開源社區便一直擔心 MySQL Community Server 會逐漸被 Oracle 遺棄. 有見於此, Michael Widenius 於2009年推出了MariaDB, 一個完全與MySQL相容的開源資料庫管理系統 (海豚對上海獅). 那為何我還是選擇以MySQL來開發呢? 因為 Oracle 提供了豐富的免費工具如MySQL Workbench等, 讓我可以更直覺地設計 Schema. 換句話說, 因為我懶...

後居的居所
MySQL Community Server 雖然叫伺服器, 但是它並不是一個完整的作業系統, 所以要找一個作業系統如 Microsoft Windows 來讓它住進去並提供服務. 但是為了省錢又要穩定, 我最後選擇了CentOS, 一個 Red Hat Enterprise Linux 的開源版, 來作這個"後居的居所". 等等! Linux 不是很複雜的嗎? 呵呵,  十年前 Linux 可能是很複雜很難上手, 但是現在各個 Linux Distributions 已經非常之 Down to the Earth 了. 如果有興趣的可以從 Ubuntu, Fedora, 及 CentOS 等 Distributors 下載他們的 Live CD ISO, 然後燒成開機光碟, 再插入電腦內後享受一下非視窗系的另類風格. 但小心不要按了 Install to Hard disk 的選項, 除非你知道自己在幹什麼...

聲明: 文中所提及的商標及產品名稱均屬其版權及商標持有人.

沒有留言:

發佈留言