Re: [問題] framework的選擇...

看板java作者 (dk)時間12年前 (2013/08/17 16:52), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
個人淺見: 0. 文件是否清楚易懂? 組織清楚? 容易找到需要的東西? 有不見得齊, 齊不見得堪用, 更不見得好用, 不過在那之前你得先找得到 1. 使用者數量 或 搜尋熱門程度 * 為什麼? ** 使用者數量 -> 好找人 ** 搜尋熱門程度 -> 紅, 多人討論, 資源多 * 怎麼看? ** 使用者數量 -> 用 framework 名當關鍵字能在人力銀行找到多少工作? ** 搜尋熱門程度 -> 用 google trends 搜 framework 名 *** google trends -> http://www.google.com/trends/ 2. 是否有特別需求? ex: memory, max concurrent, response time 這部份就沒什麼特別的, 多估狗幾篇 ooo vs xxx, 內文和回應都看過去, 多看幾篇大概會有個底, 當然最後還是要自己做幾個 POC, 用 jmeter 之類的做點 stress test, 用 visualvm 等軟體觀察看看 3. 是否有什麼特別整合需求? ex: 需要使用特別的 reverse proxy, SSO framework * 使用特定 reverse proxy, 那可能要留意 framework 編碼, 例如有的 reverse proxy 跟 utf-8 encoded url 不合 * 使用基於 redirect 的 SSO framework, 那可能就不適合使用 heavy ajax 的 framework, 不然就是架構上要多下點功夫, ajax 跟 redirect 天生有點犯衝 這些也要自己架一下環境測測看 4. 學習曲線 學習曲線越短, 相對的表示顧用新人的 CP 值越好, 對老手的需求越低, 雖然這對軟體工作者來說可能不是好事... 這部份跟一有點重疊, 越多人會且資源越多, 通常就比較容易 pick up 5. 與舊技術或其它 framework 的相容度/相似度 這個 framework 是不是很"特立獨行"? 一個寫傳統 jsp/html/javascript/css 的人, 之前的經驗有多少再用率? 或者當之後別的專案需要改用別的 framework 時, 目前的經驗能有多少再用率? 如果沒有相當特出的其它 advantages, 越特立獨行的越不考慮 這部份要實際寫幾個小 project 試試才知道 ※ 引述《cyclone350 (老子我最神)》之銘言: : 大家好,今年在公司學了很多軟體的東西,當然也包含JAVA : 直接跳入主題,JAVA有很多很多 framework... : 這些 framework 的用法跟技術官方文件跟網路幾乎都有, : 所以不用擔心技術上的問題。 : 我在煩惱的是,假如我是一個架構師,該如何選擇一個 framework ? : 舉一個最簡單的例子,一個 Web MVC,最常聽到的Struts跟Spring MVC... : 不管我選哪一個,我總要有一個理由, : 例如這專案要用 Spring MVC,為什麼要用? 有誰在用? : "有誰在用" 這個問題我實在是很苦惱,因為如果官方網站沒有寫的話, : 要怎麼知道有哪些網站在用...? : 既然不知道有哪些網站在用,那要怎麼說服別人? : 而且說真的在這個例子我也無法說服我該用哪一種, : 從各種網站的比較只能得知,spring MVC 好像比較快, : 然後原理不同,spring MVC 比較省資源等等... 但終究只是 blog 文章而已... : 以上只是一個例子,真正要選擇的東西有太多了 : ap server, catch, javascript framework, css framework, ORM framework, : database, warehoursing, Security, search enginee... : 甚至 ap 的 function 該寫在 java 裡面或是 store procedure 裡面都可以是一個議題 : 我認為很重要的說服方式是 "在某某某網站就是用這個方法去實作" : 但是我總是不知道到底有哪些網站去實作此 framework : 不知道各位是用甚麼方式去說服別人該用哪種 framework ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.160.30.17

08/17 17:04, , 1F
謝謝,回答得很清楚!
08/17 17:04, 1F
文章代碼(AID): #1I3pdR4L (java)
討論串 (同標題文章)
文章代碼(AID): #1I3pdR4L (java)