C#程式設計

Angular + C# Web API的優缺點

由於已經用了C# Web API當後台,Angular當前端,開發了兩套產品了,現在大概可以寫一下這個組合的優點和缺點,以及是用在什麼樣的情境下。畢竟沒有最棒的組合,只有最合適自己現在要寫的專案情境下的組合。

適用的對象

最適合的場合是使用在商用軟體或者對象是中型企業的時候,中型企業多半會有MIS人員,但台灣的中型企業多半配的MIS人員不會是Linux系列的工程師,多半是Windows系列的工程師。

這種場合下C#顯然就很有利,比起Nodejs或者Python,Windows Server上架設C# Web API對對方的工程師來的親切許多,親切許多有什麼好處?就是有小問題的時候對方工程師可以替自己公司排除。

C#很笨重?

其實C#執行效能算在同樣工作上,算是相當高的,且因為經歷了相當多年的歷史,在寫物件和一些結構化的部分,算是做得相當精緻。若專案屬於中型或大型的,C#在協力開發上不輸給Nodejs或者Python。

且Linux環境下,C#用Docker也可以啟動,.NET Core也支援跨平台,如果要純雲端,Kubernates或Google Cloud Run也都支援C#。

只是C#佔用的記憶體真的是相對的多,同時需要運行的組件也很多。我曾試過一個單純只是刷新用戶登入時間的C# Web API,沒辦法在128 MB RAM的Cloud Run環境下跑,一定要提高到256 MB RAM才可以。

但如果客戶真的是中型規模的公司,那這一點點的差額都是客戶負擔的。

Angular學習不容易?

Angular確實學習內容相對於其他的JavaScript框架要具備的更多,除了HTML、CSS、CSS框架的使用是基本款以外,也要會JavaScript,但開發卻是用TypeScript。

TypeScript與JavaScript兩個語法很近,但有相當多不同的地方,如果沒有把TypeScript精通的話寫出來的東西只會一直報錯,或者根本看不懂別人寫的範例。

學習資源多嗎?

C#學習資源還算不錯,但要注意.NET 6.0以上的學習資源算相對少的,比較多是.NET Core的,會有些許的不一樣。

Angular的學習資源算相當豐富,如果真的有問題的話GPT4或者Bing一定是好的幫手。

最適合情境

最適合在客戶是以Microsoft系列為基礎的架構下開發,資料庫是MS SQL Server等等。

不要覺得這種客戶很少,我們公司這類型的中型客戶少說也有幾百家,台灣走Linux系列的中型公司反而不是太多,至少就我們知道的,大型的客戶我們公司業務拓展不到,所以我不好說。

跨平台?

Angular開發的是Web所以一定是跨平台,C#有Docker在且.NET Core以後也是跨平台。

如果還要寫手機App,可考慮C# MAUI,或直接Web支援手機。

結語

我認為 C# Web API + Angular最適合中等規模的客戶,尤其是作業系統與資料庫走Microsoft系列的客戶。

這類型的客戶,如果想要用Nodejs或者Python開發Web API,反而對方的疑慮會比較多,可能會比較難成交。

因為企業在使用軟體重點在於功能而不在於使用的語言與工具,尤其企業在轉平台是相當大的成本,而微軟在這部分把台灣的大多數企業綁得很死。

What's your reaction?

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

Comments are closed.