程式設計

新計畫草案-Electron+Angular+ExpressJS

框架的選擇

現在開發程式主要要選一個適合自己的框架,框架選好以後就要選擇合適的組件以後寫出應用程式(不管是手機、網頁或桌面應用程式)。

今年十月底為止開發的專案是Angular+Tailwind CS/C# Web API/MS SQL。

這個計畫是完美完成,至於銷售量不如預期是另一回事,但有很多可以重複利用的技術作為下一個計畫的基石。

Electron

為什麼要選這個框架,因為我們團隊已經花了將近一年研究Angular,且精通Angular的各種功能,如果因為要寫Desktop的程式,又要學C# MAUI,那等於是浪費掉了一年中的相當多時間。

經過評估過後,由GitHub開發的Electron可以讓Angular在Desktop的狀態下執行,Angular下要的後台可以用ExpressJS解決以後包含在Electron的程式中同時啟用。

優點

Angular開發的專案可以發布以後部署在伺服器或者Electron中,ExpressJS開發的Web API可以部署在各種伺服器,或者Electron中。

所以Code可以作為兩種用途,如果是要Web版本也可以,想要Desktop版本的也可以。

為什麼要開發Desktop版本,因為我們公司的客戶有7成規模都不大,有MIS可以架設網站的只有一成。Desktop版本可以降低客戶的技術要求,只要每台電腦都有API Server,就可以當Client-Server的架構來看。大一點的客戶可以買Web的版本自己架設提供手機平板查詢。

再者,JavaScript在Nodejs的語法是相當精簡及輕量化,個人覺得很有美感。

為什麼不用公有雲

這個問題是來自於台灣中小企業對於公有雲的不信任,資訊安全的疑慮以及害怕,這也是上個產品無法銷售良好的原因。

私有雲可以在區網內保護資料庫,我們客戶沒有預算讓我們來架VPC保護他們的SQL Server(這公司只有我會做,少說我也要收個10~20萬,雲端月費還要加維護費用)。

疑慮

目前想到的就是第一個是Nodejs在客戶端是否會出錯的問題,安裝是否能簡化到我家的花貓也能懂呢?

第二個是JavaScript其實沒有C#在開發大型專案的時候容易維護(至少以我的觀點),至少C#的型別非常的明確,物件導向也相當清楚。但這個是我JavaScript只會理論還沒有實作的疑慮。

然後每台電腦都要開API Server,其實會造成資源的浪費及效能的降低。

最後,C#我是使用Dapper作為ORM,其實非常順手。Nodejs的ExpressJS我真的不知道有沒有漂亮到像Dapper一樣輕量又順手的ORM,畢竟今天我還沒查這資訊。

結論

今天只是一個草案,如果可以的話我們公司可以開發相當多的產品在團隊都不需要學太多新的東西也不需要放棄所學的狀態下。

C#沒用到只影響到我個人而已,且我會用C#寫Console程式來做Auto Update和一些故障排除的程式。

所以只需要花點時間我要帶領公司新研究Electron和ExpressJS,還有要怎樣把全部串起來,其他都很容易。

這是一個突發奇想以後延伸越想越詳細,明天也許會有更多想法,今天就先寫在這邊紀錄。

What's your reaction?

Excited
0
Happy
1
In Love
0
Not Sure
0
Silly
0

Comments are closed.