在撰寫一個 Side Project 時,選擇技術絕對是一個重要的環節,甚至比 Side Project 主題還重要。所選擇的技術會直接影響整個專案的開發流程、學習效果,甚至是最終的成果。選的好不僅能在開發過程中收穫滿滿的技術知識,還能提升專案完成的品質,但如果選擇的不適合,可能會讓你在開發過程中常常卡關,或失去動力。
那麼,如何選擇適合的技術呢?在這篇文章中,我將分享一些我在選擇技術時的經驗和想法,幫助你更好地做出選擇。
選擇技術是一個技術問題,聽起來有點繞口,哈哈,但實際上,很多開發者在這個過程中會遇到心理層面的困難,這些心理層面也會影響到你對技術的選擇,甚至阻止你專案進行。
在面對一堆技術選擇時,你可能會陷入「選擇恐懼症」。尤其是當你同時看到了太多選擇,從前端框架到後端語言,再到資料庫,各種選項真的是一大堆,你可能會感到難以抉擇:「我要選 Angular 還是 React?Node.js 還是 Django?MySQL 還是 MongoDB?」選擇困難真的會造成阻礙。
很多人害怕選擇一個自己不熟悉的技術,因為他們擔心無法快速掌握新技術,進而導致專案無法順利完成。當你想到學習新技術的時間成本和挑戰時,這種擔憂會進一步加重你的壓力。
現在技術的更新非常快,每隔一段時間就會出現一個新的框架或工具。有時候會有一種焦慮感,像是我選擇了這個技術,會不會過時了?或是這個技術現在非常流行,但未來還會有市場嗎?這種壓力會讓你不敢下決定,會陷入選擇技術的糾結之中。
有時候,選擇太複雜的技術會給自己帶來不必要的麻煩。如果專案只是解決一個小問題,但選擇了一個學習成本很高的技術,也會導致無法專注在實際解決問題。這種情況會讓你覺得專案的難度超出了預期太多,然後感到很沮喪。
如果你因為太多選擇而猶豫不決,建議選擇最簡單最容易上手的技術,我就是這樣,然後專注於具體的需求,減少選擇帶來的壓力。
如果你擔心無法學會新技術,那可以給自己一個有步驟的學習計劃。將學習過程分成小部分,並且在 Side Project 中應用它,我也是一開始在資料庫先使用 MySQL,後續再增加 MongoDB 的使用。
不要被最新的技術迷惑了。有時候,穩定成熟的技術比新技術更可靠。而且重點是如何解決問題,而不是追逐現在最新的技術,專注於那些被廣泛使用且有良好支援的技術,能讓你在開發過程中更加順利。像是可以選擇使用成熟且穩定的 MySQL 作為資料庫,因為它已經被無數項目證明了穩定性和可靠性。
技術應該能夠解決專案當前的需求,同時也應具有可擴展性,以便未來能在需要時輕鬆擴展專案。例如,選擇 Node.js 作為後端技術,它的模組化設計和豐富的生態系統能讓你靈活擴展應用。
那我們該如何做出技術選擇呢?我建議從以下幾個方面來考慮
首先要考慮的是你的專案目標和需求。不同的專案對技術有不同的要求。比如,你是想要學習技術,用在面試時的 Demo,或是一個單純的前端應用,更關注網頁美觀,也或是純後端應用,專注於效能和單元測試。
在選擇技術時,選擇一個在網路上有豐富資源的技術,能夠幫助你在遇到困難時更快找到相關資料。例如,像 Angular 和 Node.js 這樣的技術都有非常多的資源,搜尋一下就有大量的教學資源和套件,這樣能讓你在學習和使用的過程中更順暢。
選擇你熟悉的技術可以讓你在專案開始時更快上手,減少摸索時間。如果你已經熟悉 Angular 開發前端,就可以直接使用 Angular 來開發你的專案。
每種技術的學習曲線都不同,有些技術需要更長時間才能掌握。對於前端新手來說,Vue 的學習曲線比 Angular 平緩,因此更容易快速掌握並開始開發。
在決定之前,可以先進行小型測試專案,也就是 MVP(Minimum Viable Product)最小可執行專案,看看技術是否真正適合你的需求並且易於使用。
在開發購物網站的 Side Project 中,我選擇了 Angular 作為前端框架,以及用 Node.js 的 Express 作為後端框架,MySQL 作為資料庫。
選擇這些技術的過程中,我的想法其實很簡單,就是選擇遠本熟悉或是最多人用的技術。因為我本來前端開發就有使用 Angular 的經驗,Node.js 的 Express 框架也算是本來就熟悉。在資料庫選擇上就選擇最常見的關聯式資料庫 MySQL。
這樣的選擇讓我在開發過程中更具信心,因為我選用了那些我已有一定基礎的技術,同時也有大量資源和範例可供參考,幫助我解決開發中可能遇到的問題。
選擇技術是 Side Project 中的重要一步,無論你選擇什麼技術,都應該專注於專案需求和自身的學習目標。不要害怕嘗試新的技術,Side Project 給了我們一個安全的環境去實驗和學習,大不了之後再更換也行。
勇於行動吧!選擇你認為合適的技術,開始你的 Side Project,享受這個過程中的學習與成長。