iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
自我挑戰組

保健食品建議量查詢網頁功能系列 第 20

挑框架也要選版本

  • 分享至 

  • xImage
  •  

軟體系統功能開發有很多常識,不過常識多寡也不太影響太多。因為現在有很多產品/open source,跟框架,大幅降低了開發難度,只要選好框架應用,只要會設定、寫一點程式就有東西跑出來了。Google 「tutorial」就一堆,各式教學Blog,學習筆記,資源很多,一步步照著做入門也不會太難。

所以也不能怪說ChatGPT會寫程式,程式基本上就是個工具,把他當做一把剪刀來看,能拿得起剪刀,可以剪出正方形,長方形,圓形,就有50分,再來就是有聽懂人話 +10分,剪得快 +10分,剪得邊角乾淨俐落 +10分,懂得減少廢料 +10分…。在分層分工的社會中,靠著管理團隊(X)命令手下(O),依據各種理論與方式手法,就能達成想要的成果。

有時後也不是不肯想,而是在高度分工下,輪不到你來想(不在其位,不謀其職),也不用有想法(會打亂原定的分工計劃),需要得是專才技巧純熟,確實完成命令,速度越快越好。若是很有想法(嘴砲)的人,選一條龍開發模式的公司,可能會覺得比較自由,就比較偏通才,只是要處理的面向跟事情也變得很多(又要被嫌血汗,打雜工沒前途QQ)。

扯遠了,回歸正題,現代可以做到高度分工,有一部份也是因為各種程式技術日漸成熟,前人累積的經驗與智慧,成就了眾多的函式庫。而計算機科學的研究也提出各種方法,各種概念來加快軟體發展,降低入門門檻,減少低級錯誤(對開發者防呆),加上可能各派的擁護者想要成為主流(付出就有沉沒成本,主流才會出名,主流才會被大量採用,有被人用才有綁定的機會,才能驗證有成功案例再成長),總之現在軟體開發都是使用現成框架、服務居多。

而在框架選取上,通常都是看會什麼就用什麼!除非有顧問導入,搭配教育訓練,有學習成本在,也就是要多花時間跟人力。小本經營的還是找已經會的,已經被培養好的,比較快。所以框架選定通常很快,通常都是在比選用那個版本的問題。

因為時代發展太快,或是商業化好賺錢(升版就有機會可以收一次錢)的關系?!不管是產品,或是程式、框架生命周期明顯都變短,大多落在一年,或一年半就不再維護。而系統上線底層可能要用到五年,十年以上,所以選擇LTS(Long-term support,wiki:https://zh.wikipedia.org/zh-tw/%E9%95%B7%E6%9C%9F%E6%94%AF%E6%8F%B4 )的版本就相對重要。

版本支援資訊,可以上官網查是最準,只不過有些會藏在不好找的地方,也可以參考網站整理:https://endoflife.date/ 這個我覺得還蠻方便的。

這次開發的版本,我會選擇以下幾個項目:

  • Java JDK 17 : 目前最新的 Java LTS 項目,也是oracle JDK終於回歸免費的版本。open JDK 沒有不好,只是部份第三方函式庫,是綁 oracle JDK的比較泛用。
  • Spring Boot 3:springboot3 配 spring6,已經出來好一段時間,現在應該比較不白老鼠。springboot3 在 security 上有點不同,有些第三方整合的無法使用,若在剛開始,還沒有網路大神提供解法sample,要自己摸索配套總是比較辛苦。
  • Bootstrap 5:已經release到5.3了,我覺得4跟5在底層架構上差很多,5之前孵(beta)了很久才出來。我猜是因為5拿掉對IE 的support,當年算很敢(身為工程師都不敢用XD…因為做的案子還是都要IE),直到MS宣布 停更 IE 後,才安心的使用。坊間template 有些說有 support Bootstrap5,有些其實是 原生4 加5的方式做的,感覺有點不乾淨,不過一般人只要看到美美的網頁就可以了。

其他像是OS,DB 只用基本功能,因為Java特性都有良好的支援,就是有什麼用什麼,不用特別挑版本了。


上一篇
RWD已經成為常識了
下一篇
規範要一起遵守才有用,太理想化做不到也是白搭
系列文
保健食品建議量查詢網頁功能30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言