說出來不怕人笑,由於非科班出身,雖然開了一家軟體公司,寫了幾十年的程式,也藉以養家活口,有很多概念,我還是一知半解。
前二個月,有一家軟體同業,打電話來尋求合作,對方一開口就問:「您是用什麼框架的?」
「什麼框架?」我不知道啊,我的程式是一行一行敲出來的,我有用到html , css , javascript , php , jquery , mysql.....,這算框架嗎?對方說不算!
我不知道框架是什麼,但我的程式能跑,客戶的要求我也都做得到,那麼?我需要去再學一學框架嗎?學了之後,要幹什麼用?把整套系統再用框架改寫一遍?
我有一個疑問,若框架那麼重要,假如有二家軟體公司要合併,但兩家公司所用的框架不一樣,那麼它們要怎麼辦?留下一個去掉一個嗎?
我早期由 dbase 學起,後來用 clipper 87 , 那時根本沒聽過什麼框架,程式碼都是一行一行敲出來的,照樣跑得很高興,後來,windows 起來了,轉用 vfp,因為觀念變化太大,我一時轉換不過來,於是,就想說,那麼不如雇用一名設計師好了,換我跟他學。
來應徵的工程師,都說會 vfp,我請他們示範一下,都是用精靈拉一拉,很快一套簡單的增修刪就出來了,看起來很有效率,我指著畫面中的一項,請他改一下我的要求,沒人改得出來,這不是我要的,通通沒錄用,我還是硬著頭皮自己來。
當時 vfp 出書的名家中,有一個很有名的陳宗興,出了很多本 vfp 專書,不知還有沒有人記得,他是高雄人,離我家不遠,於是,我透過補習班,請他當家教,每小時 1500元 (20多年前的價碼),陳老師來幫我上第一堂課,我跟他說我不要精靈,我要學 codeing vfp , 陳老師說這樣他沒辦法教我,要我自學,他很客氣,說教不了我,不收我的鍾點費,於是,我請他吃一餐好料,做為報答。
我想請問一下諸位先進,「框架」和「精靈」是同類型的東西嗎?某個框架的某個功能不合我意,能自己改嗎?
嗯!無論我寫了什麼。麻煩請最後「不要」選我為最佳解答。
因為我只是想提建議但不想用上面的「討論」功能。
關於框架,我們來討論汽車吧!
如果你是一個造車工藝高超的工程師。
你想打造一台理想中完美的車子。
也許你會考處從造輪框,造輪胎,做引擎,做變速系統。
然後規劃了供油系統、電子系統、制動系統……甚至你其實是想做電動車。
於是你花大把的精力,努力在製作這一台精品上。
最終,你終於完成了這個獨一無二舉世無雙的車子了。
這時,有一個客戶,看到了你的車,想請你再造一台…………
於是你很努力的,造出了第二台車,可是因為是手作品,多少還是發生了作品差異。
即使他比上一台車更加的完美了。
然而,這台車子,始終也只有你作的出來,出了問題,也始終就只有你能修。
如果你沒有提供維修手冊的話別人可能連修理的能力都沒有………
更何況所有的維修零件還只能出自於你之手……
你可以開始從新思考如何能統一規定的來「複製」這輛車。
甚於依據客戶的「需求」來「客製化」這輛車。
重要的是,他有完善的「操作手冊」,並且有著第三方支援的「維護零件」提供。
以及「就算不是你,別人也能夠開發、製造、維護」這台車。
喔!於是我們發現了「框架(遵詢規則與介面的複製工廠)」。
人人都有好車開,人人都不怕車子故障。
世界繼續美好的轉動著。
「框架」就是如此美好的東西。
這個比喻容易懂,不得不選成最佳解答,還要請多包涵。
不過,【「框架」就是如此美好的東西。】但,世上框架何其多,又要如何選擇?
還有,我現在這部破車,已經在路上跑了幾多年,上頭也載了許多正在打瞌睡的客人,那麼?現在怎麼辦?趕下車,重新用框架再造一台?
ckp6250
眼前最明白的例子:
你是要繼續修吃汽油的機車死守車行一輩子
還是要轉型當狗狗肉的合作維修車行?
只要你的人生還沒下車,什麼都來得及。
要說框架何其多,為何不反過來想一下:框架的「共通性」
你認真的以為每一套框架都要重學嗎?
就拿php來說好了,框架不少了。
但基礎那個不是建構在標準的MVC架構上?
只要是同一個語言,所衍生出來的框架必定都有其無法脫離的架構存在。
而且架構的東西也是很靈活非死氣沉沉的。
拿我在寫iOS的例子好了。
框架就唯一的cocoa(蘋果官方制定)
他走的是標準的MVC架構。
但在那之上還可以衍生VIPER、MVVM和VIP架構。
然後MVVM這個架構在很多的語言也都常常會看到。
(MVC就不用說了,幾乎所有物件導向語言都看得到)
總之,與其猶豫不決,不如先選定一套開始向前。
當然如果你是有走php的話,那不用說,直接選用當今市佔率最高的
「Laravel」來學習就對了。
最佳解答XD
所以Toyota推出TNGA,VW推出MQB。
Twitter推出Bootstrap、Facebook推出React、Lawrence Journal-World推出Django
如果ckp6250大大有心,也可以釋出你的框架。
最佳解答
回 paicheng0111 大大
我做的比較像是【模組】,不像是【框架】,
其實,模組化後,效率也是很高,比如,今天若要增加一個【會員管理】,那肯定得用到GRID , APPEND , EDIT , DELETE , FILTER , SEARCH , REPORT , SORT , VALID 等等基本操作功能,對我來說,幾分鐘之內就能搞定,而且,假如A客戶要10個欄位,B客戶要6個欄位,而且順序也不同,A客戶有5個按鈕功能,B客戶有8個按鈕,那麼,一點都不困難,主程式只有一隻,參數定一定,結果就出來了。
老派的做法,趕不上新潮流,好在,熱情還在,我會努力趕上的。
軟體不是車,第二輛車 Copy 就好,
手工勞斯萊斯也不錯
一直純手工 > 有一天他的環境 > 就是自用的框架
淺見,我一直是外行人
軟體不是車,但一直以來就告訴我們不要閉門造車。
copy?東co co,西co co,結果copy出一堆毛病來。
幾十年經驗沒什麼值得提的。
工程師做不到順應變化的話。
那他在這個時代就已經難擔當工程師了。
現在要求的:快速、安全、穩固、容易錐護與協作。
不要想說當一個自私的工程師。
管你活到一百歲就是給我學,學到死為止
怪…我手機只按了一次送出……卻變成送出二次。
我們要求穩定,不是追求新技術
@testh
說真的,再早十年前。你目前的想法是跟我一樣的。
這點也可以順便跟開板主說一下。十多年前,我非常排斥框架的東西。
肥大、沒用、沒效率(浪費時間學)。一直是我當時的想法。
當時我也跟開板主一樣,已經有自製用的框架。要開發什麼東西。放上去我自製的框架就完成了。
這樣的我為何最後會重新對框架有重新的看法。
其重點是一個人永遠比不上一堆人。
就如可樂說的。自已一個人可以自嗨沒關係。
但如果想要在團隊內。你會被孤立。
可是,如果你的東西夠獨特及獨樹一格。從中冒出頭來也不為過。
我是自認我不夠獨樹一格。再加上我需要帶領團隊。不能用自嗨的想法及自我為是的思維做。所以我還是會使用框架及用框架為標準。
testh
車子也有框架啊,
現在的名詞叫做生產線,
只要透過生產線就能造出幾乎一樣的車子,
然後也是需要單元測試(產品檢測)等等的...
要不然造出來的有問題怎麼辦?
受益良多啊。
我慢了10年啦。
[小魚]
[浩瀚星空]
[Samと可樂快跑]
感謝!! 我直接回答,所以沒想到文字上給人的感受,
我也碰過同一個職位待一二十年,自我感覺涼好的...。
我並不排斥學習,只是年齡大了;學習成本越來越高。
技術日新月異,有時經驗反而是個坑。
所以「熱忱」很重要!各行各業都ㄧ樣!只要能從工作中找到樂趣及成就感,年齡我相信不是問題!
「有時經驗反而是個坑」
我好認同這句話啊。
啊!!!!!!!!!!!!!!!!!!!
吃軟(體)飯其實很辛苦,每年每月都有新出頭(台語)。
早知道就去賣豆漿卡實在,還可以標榜古早味。
學書不成,去學劍,又不成。
還是可以標榜古早味啊。
物件導向設計模式不是什麼新的技術新的東西。
但是大多數的框架都在其中得到了不少概念的衍生。
正所謂「考古覽新」
小當家就是這樣才做出了咖哩麵(疑?)
小當家?是什麼?
等會兒,連小當家都不認識……
這樣跟年輕人脫節有點嚴重呢……………
請上網搜尋:中華一番.極
兩者都是替coding省下很多重複撰寫的東西,但有差別,我的理解是
框架,比較像是先為您的程式規範出一個大架構,大家說好照這個框架走,使用這個框架預先替我們完成的各種功能,框架沒有的功能再自行撰寫,省下很多無聊又重複的開發
簡單說框架預先幫您打了一部分的地基,也預先幫您做了一些積木,您再自行DIY
精靈,把一些常用功能預先打包好,在使用時讓使用者自行設定或預設一些參數後,一次把整個完整的包裹送給您XD...出來結果可能是一段code(ex. code snippet)、設定、您文章提到的增修刪...,省下很多重複打字的時間,後續您要改在自行處理
某個框架的某個功能不合我意,能自己改嗎?
框架能不能改,當然能,只要您了解框架內容在做什麼,知道他們組件關聯相依性,可以自行客製化~~
或是乾脆另外寫一個自己的library/serivce,有框架內建用內建,沒有的方法用自己寫的library/serivce
寫了幾十年程式 那可真是個大前輩呢!! web 的世界大概是199X年代才開始盛行的
框架哦... 一言以蔽之 就是可以讓開發變得更快速
但是 那要端看你需要的成品效果到哪邊,如果只是一個單純的靜態網頁 然後說要用一個會飛天會鑽地的框架 那我可以說...殺雞焉用牛刀
但是 越來越複雜的現在....
你要開發購物車
你要有會員系統
你要訂票、搶票
你要自動寄email
你要美美的圖案
你要加速優化你的網站 (包含存取速度、DB規劃、還有前兩天有人問的 cache...)
這些東西沒有用到框架的話 純手刻會非常非常花時間
再者 維護性或擴充性都是相當的...低阿
框架是一個趨勢 而且已經行之有年
啊,您誤會了,我說的幾十年,不是指 web 程式,是由我當年由dbase3 , clipper87 , vfp3.0 算起的。
我已經寫了幾十年了,只是一直沒長進就是了,web 的部份大約是前 4、5 年前開始而已。
我主要是寫雲端進銷存系統、電子發票、差勤、還有若干客製化系統,應該不算是太龐大的規模。
進銷存系統挺...挺龐大的阿!!
但那就不是web領域了
您的領域包含軟體、硬體、記帳....
回到原命題:你所說的框架是什麼框架??現在提到框架,十個有九個都會以為是在說 web設計的框架呢
我就是搞不懂框架是什麼,才來發問,就好比當年寫 clipper 87時,也沒聽過什麼叫框架,也都活到現在。
好在我的客戶也不知道什麼是框架,繼續用我的系統,這算是儍人有儍福吧。
dbase3 , clipper 好熟悉的名詞,真的用過的幾乎都50幾歲的人了,目前我還有客戶還在用當年dos clipper 進銷存,那時候都用 dbf 控制畫面,每個客戶要的操作畫面都可以不同,程式更新還要寄碟片,用電話告知更新指令.
真的,那時期的人很多人都在觀察 windows 時代要選甚麼新工具,接著在pb,vfp一堆論壇沒落後都失聯了.連代理clipper blinker 的朋友進入 internet 後也不見了...
blinker我有用過,在當時,真是神器。
現在是,連 vfp 也快掛了。
長江後浪推前浪。
話說我199X年就會寫原生的Html了,
那時候還沒有CSS,
經過了10年之後還是只會寫原生的Html,
這幾年才開始走這行.
對前輩來說自己都開發好了一套系統 自然對框架很反彈
對我來說框架就是可以偷懶的寫法
像登入註冊 在開發要寫前端後端加上cookie 等等
要寫出一個基本能跑的登入系統可能就要好幾個小時以上
寫完的完整性還沒框架來的完整
用框架幾分搞定 連原本不會寫理論作用都不知道的新手 也能寫
總體來說框架再開發維護 都利大於弊 自然會流行
也不是很反彈啦,只是想,沒有框架會怎樣?
對方也沒問我其它事項,劈頭就問用什麼框架?
我因而懷疑,難道沒有框架或框架不一樣,就不能合作了嗎?
話說回來,萬一那一天這個框架退流行了,變成孤兒時,怎麼辦?
框架的存在是為了讓開發更快速,如果沒有框架,但也能很快開發,那當然沒問題
那您就有自己的語言去說服他阿XD
框架 VS 無框架 要一起合作當然是可以,但很多交涉的部分就變成需要更多溝通
關於,「孤兒」這詞的話...框架一定會退流行,前端現在三大,說不定明年就少一個,然後多了一個新的,退流行的框架不代表死了,而是漸漸退出市場,可能他不再更新,可能支援度下降,可能有些功能會越來越接不到...
對我而言就是需求而已,
因為我是乙方,
甲方要用這個框架,
那就用這個吧,
不知不覺就學了幾個框架了...
看樣子我們都是同時期的工程師了。我光看到 clipper 我就好感動了。
除了老一輩的才懂這東西。(雖然我不想承認我老了)
其實我認定的框架,就是一種規劃好的工具。
就單單用資料庫來說好了。
沒利用框架的情況下,就是要先做「連結」「確定」「編碼」「連資料庫」最後才「下sql指令」
這些動作。
而有用框架,就只要最後的「下sql指令」
框架就是為了在開發時的方便性。
框架除了可以節省開發時間增加效率,還有一個很重要的東西。
就是教育訓練的基本需求。
因為使用框架的sop是固定的。懂框架的人,大多數的開發過程就有一大半可以不用問了。
所以框架也變成現今的面試標準之一。
不過說真的,你的思考點也是我以前的思考點。
但就現今來說,新時代新潮流。我也想要跟上新瀚流。可是我會堅持自已的原則及根本。
這就是我現在的思維跟想法。給你參考看看
我們那有老?只不過才十、十、十、十、十幾歲而已。
我沒有面試過,不懂目前現況,假如我會A框架,但該公司內部用的是B框架,那,他會錄用我嗎?
又,問個怪問題,我的確不會任何框架,但我能寫出一套完整的進銷存系統,撇開十、十、十、十、十幾歲的年齡不談,人家肯用我嗎?
其實這就像是我上面說的,會用框架有一定的sop。
就很像是一種學歷的証明。
畢竟,一般面試不太可能一個一個問你會什麼。也無法信任說你天馬行空說會。
就像今天一個拿著java 4張証書。說我會這個。
能考出這4張証書。是有可信度的。(雖然這可能跟說會框架有點不同)
跟說我會使用java做非常多的動畫能力...等等等。
信任度來說,總是會比有証書的還要來的強很多。
由其對本身根本沒技術相關的面試官或是老闆來說。他不懂得你說的會是多會。但有証書至少因該會有一定程度了吧。
所以你上面有說了。不會框架就不一樣嘛??
因為標準的不同。真的有些人認為,你不會框架就什麼都不是。
無論你的能力多強。這就現今的程式業界中,還真的見怪不怪就是了。
所以,我也會學習新的東西。不會倚老賣老。永遠當初學者
曾經年少愛追夢....
永遠當初學者
讚+1
現有這種觀念的,年紀應該多不小
阿展展展
你有那麼老嗎?
首先框架和精靈是兩馬子的事。
為什麼你會用 jquery,因為比用純 js 慢慢coding方便又快速對吧,
框架你可以想成 jquery 進化的套件,jquery 以 dom 驅動畫面渲染,
框架則是用資料驅動畫面渲染。
dbaseIII、Clipper 我也寫過,只是20幾年後你是老闆,我依然在寫碼
20幾年後,您會框架了,
我還不會。
ckp6250大大,文字檔定一定,程式就出來了,這不就是您自創設計的框架嗎?
回 idoncys 大大
我的做法大約是如此,比如,我定一個文字檔如下:
{{會計代碼一覽表
勾;IsSelect
代碼;ACCOUNT;;會計代碼
簡 名;Screen;;;.F.
全 名 ;Printer;;;.F.
性質;IIF(!Empty(DrCR),'借 ',' 貸');Rgb(0,0,255)
期初借方金額 ;IIF(!Empty(DrCR),ABS(BegInMoney),000000000000.00);;;.T.;@Z 99,999,999,999.99
期初貸方金額 ;IIF(!Empty(DrCR),000000000000.00,ABS(BegInMoney));;;.T.;@Z 99,999,999,999.99
月計;只印月計
頁次;PAGE_NO
媒申;Acc1->Media_No;Rgb(0,0,255);;.F.;9999;選取媒申代碼
申 報 科 目 名 稱;iif(Empty(Acc1->Media_No),'',Term02->ACC_NAME)
}}
然後,我的主程式如下一行,
=_FrmBrow('會計代碼一覽表')
這樣,基本上GRID , APPEND , EDIT , DELETE , FILTER , SEARCH , REPORT , SORT , VALID 就都有了,大概是這樣子。
參數很多,有『R,C』;『SAY』;『VAR』;『PICTURE』;『VALID』;『WHEN』;『DEFAULT』;『NEWVAR』;『MESSAGE』;『OBJECT』;『ENABLED』;『KEEPUPVALUE』;『IMEMODE』;『欄位記憶功能』;『VISIBLE』;『FORMAT』等等,定義每一欄的功能或外觀,將來,如果我要加功能,就再加定義,那麼,所有的舊程式也自動翻新。
如果客戶要求增減欄位或調整內容,我就修文字檔,主程式不動。
這是老派做法,我想,版上諸多老前輩或許也如此,我們那年代,沒有框架可用啊。
江山如此多嬌,引無數英雄競折腰。 惜秦皇漢武,略輸文采;唐宗宋祖,稍遜風騷。 一代天驕,成吉思汗,只識彎弓射大雕。 俱往矣,數風流人物,還看今朝。
ckp6250大大,雖然看不懂您文字檔與主程式關係細節,不過我也是一直採用主程式不動的做法,不然每個客戶要求畫面都不一樣,常常要求增減欄位或調整內容,如果都要產生程式碼,就會產生不完.
底下是我設定不用登錄就可開啟的視窗範例,不管維修單或客戶產品廠商訂單等,都用extjs 當底層設計的框架產生,不過不是產生文字檔,而是把文字都存在客戶資料庫.作法雷同,我 dos跟windows 寫的也都是這樣,也算老派做法吧.
extjs 雖然在網路感覺沒落了,但我覺得用來設計類似進銷存很好用.
https://www.idon.com.tw/demo_open_win.jsp?p=water&id=24&x=10&y=28&w=1300&h=830&h2=300
我們的構思和原理其實都一樣,也就是一隻【主程式+個別定義】走遍天下,至於這個定義是放在文字當或資料庫,那倒沒差。
我也是 dos 跟 windows 寫的也都是這樣,後來,由 dos 轉 win 時,發現這招很好用,定義檔只要增加一些win特性,就能適用啦。
就算由 win 轉向 web,還是這招,少花很多力氣,人家說,老狗變不出新把戲(指我哦,不是您!)果然沒錯。
版上諸多前輩極力推薦框架,我也想近期用力學習,我也在想,不知能否把框架和 MVC 套用進來?
您的 demo 我看過了 , 很不錯 , 風格我也很喜歡,簡潔沉穏不花俏,和我的差不多,果然是老派作風,我現在常看有些人的作品,搞得特技一堆,開個編輯窗還要搞動畫,很不習慣。
如能一直維持舊式風格不變。還能一直賺錢。誰不想要呢?
我也能明白兩位的堅持。因為我也是在5年前才轉變的。
在5年前我跟你們一樣。覺得自我不錯,無需改變。
當然我只是拿我自已當例子來看待你們。畢竟你們現在的想法是跟我5年前一樣。我也會非常認同。
但我只能說,我還是為了大環境而改變了。或許你們有你們自已的一套。無需改變。一樣堅持。這並不是壞事。
只是,在論點自已的做法。我會認同你們的思考方向。但相對的你也不能對現在新思維及做法有覺得錯誤及不對的說法。
時代再進步,你可以說自已一成不變不是錯。但你不能說新時代的改變是錯的。
能堅持自已的做法活在新時代。是一件很好的事。得要加油下去。
但並不能因為自已跟不上時代,而說時代有問題,是錯誤的觀念。並指責及想導正。這是不好的行為。
堅擬自已的做法及想法。讓新時代無法打敗你們。要靠作為來達到。而不是靠批評來磨滅。或是我有誤會。但確實讓我覺得這樣的感覺。畢竟我也是過來人。懂得這樣的思維及無奈感。
語中有誤解或是得罪的話語,還請見諒。
感謝您的討論。
其實,我從來不排斥學習,在軟體資訊這一行,不能學習,就會被淘汰,而且,很快。
當年一開始學 basic,發現搞資料很麻煩,就改學 dbase,不久,覺得 dbase 跑太慢,就改學 clipper 87,到了 Y2K 時,windows 興起,改學 vfp。
vfp 快樂了好多年,不意,web 風行,又再學 php+html+css+javascript+mysql 等等,永遠被追著跑。
框架呢?不過就是另一個設計思惟,我會趕上的。
要學的東西真的很多,比如,我現在還不會寫手機 APP 呢!也想學看看。
再一次感謝您的開導及提醒,受益良多,請受小弟一拜。
小弟應該和大大也是一樣
一行一行刻出來的
不過這問題對小弟影嚮比較小
曾經也苦腦過這問題
不過換個方向
其實後續學框架
真的也不是很難
就是操作手冊在看一次
組裝
畢竟有底
學什麼都很快的
這樣說吧,
同樣的功能,
我用傳統的PHP寫可能需要一個月,
但是我用Laravel框架寫可能半個月就能寫出來,
所以為什麼要用框架呢?
當然如果已經建立起自己的一套系統,
可以很快完成工作,
其實不一定需要框架的.
既然這麼喜歡原生,
要不要從作業系統開始原生,
自己開發一個作業系統出來?
來應徵的工程師,都說會 vfp,我請他們示範一下,都是用精靈拉一拉,很快一套簡單的增修刪就出來了,看起來很有效率,我指著畫面中的一項,請他改一下我的要求,沒人改得出來,這不是我要的,通通沒錄用,我還是硬著頭皮自己來。
當然精靈跟框架不一樣,
不過你說的這個是人的問題,
不是精靈的問題,
難道有人開車撞死人是車子的錯嗎?
我們應該要把車子處以死刑?
精靈我不太清楚是什麼,推測是點一點就自動幫你產程式碼的工具。
在開始談框架之前,先用些故事來舉例吧!
今天我想創業開餐飲店,會需要
人事:負責管理排班/工作細節
生財器具:鍋碗瓢盆瓦斯排油煙機桌椅等等
場地:自己買或跟他人租,再來還有稅率問題等等
每一塊都可以稱之為模組,而將這些功能抽象出來專職處理某個功能,例如有一間公司可以專責處理人事,則可以稱之為Libaty。
之後又有一個人有辦法將這些細節全部整合起來,並且依據客戶需求微調功能的細節,讓你要創業時,不用再自己找人/找點/找器具,提供整合過的功能給你,這就是框架。
一套成熟框架的好處是可以快速的兜好每一個模組,並且可以高度客製化,讓你可以借用別人的經驗快速完成創業(專案)這件事,同時因為這間公司已經服務過多位客戶,接下來營運會碰到什麼事,多少都有經驗能處理了。
那不使用框架呢?有能力的人依舊能打點好所有細節,只是快慢而已,但別忘了在商業領域中時間就是金錢。那沒能力的呢?可能人事處理的亂七八糟,食材不穩定,別人要來接手幫你的時候,需要很長的適應期才可以了解營運的痛點在哪。
我在學 phalcon 框架, 有同好的伙伴嗎?
alexk1107@gmail.com
0980155789 亞太