PHP 購物網站系統的選擇

edited 十一月 -1 in 電子商務
因為購物網站是直接與金錢、交易有關,所以一般有著比較龐大的社群與資源投入,因此可以有許多的選項;我只針對 PHP 為基礎的解決方案去討論,也大多是針對開放原始碼的選項。

如果希望從頭開發,現在一般會建議以熱門的 Frameworks 為基礎去做延伸,好處是很多常見的需求都找得到相關資源進行組合,可以專注在一些關鍵的商業邏輯處理,尤其是開發團隊不大、又有上線壓力的情況下。但也因此會產生一些困擾,像是因為每個環節都顧及到而造成的執行效率問題,或是核心技術門檻相對複雜而造成一些問題無法在短時間內找出癥結,雖然 PhalconPHP 或 Yaf 等工具以 C++ 設計能夠讓效能的部份有了些改觀,但遇到狀況時的除錯過程就複雜了些,能夠幫忙的人也比較少。

如果沒打算從頭開發,許多人會接著想要在一些熱門的 CMS 為基礎去找相關解決方案, Drupal 與 Joomla 都可以找到具有相當規模的解決方案,但這類型的解決方案為了要遷就 CMS 的特性,效能的表現一般很難看,加上為了繞過一些架構限制而出現的暫時作法,讓這類型實做在延伸的開發上變得複雜許多,而且一般沒有太多參考文件能夠解決大部分問題。

因此,現階段還是會建議將內容的需求與電子商務分離,不要把複雜的內容邏輯帶入電子商務中,增加了電子商務過程的不確定性。

如果有心要研究電子商務,強力推薦 MagentoCommerce ,前提是你的心臟夠大 。MagentoCommerce 應該是目前開放原始碼的電子商務解決方案中最出色的,它的實做過程顧及了許多我們只會在教科書上看到的層面,是少數真的能夠讓大型企業採用的電子商務系統;但也因此,它不會是能夠輕易駕馭的系統,對於環境的要求也更高一些。讓我訝異的是,國內已經有廠商以這套系統在服務中小企業,實際深入時可以感受到,它真的不是一般小規模網站能夠採用的方案,幾個實際案例都可以看到人仰馬翻的感覺。

PrestaShop 是另一個功能豐富的系統,預設就提供了多商店、進階庫存管理、手機版本等少見的功能,與 MagentoCommerce 不同的地方是, PrestaShop 相當的友善,因為並沒有透過太多複雜的技術去實做,程式碼相對直覺許多,執行效率也比較快,對於資源的要求也沒有那麼嚇人。比較值得一提的是,它大概是開放原始碼電子商務方案中文件最完整的,透過 wiki 提供了相當完整的資訊(雖然都是英文)。功能豐富而技術門檻低的組合,當然可以預期程式碼就是一團亂了,好處大概是遇到問題不難找出原因;正式版本的產品資料匯入功能是有問題的,試著找到原因後有些感嘆,怎麼會在那個地方出錯 XD 。

xt:Commerce 是我最熟悉的,一個功能相對陽春的電子商務系統,它是基於知名的 OSCommerce 架構延伸而來,除了改進了一些 OSCommerce 讓人詬病的問題外, xt:Commerce 的穩定度也相當值得稱許,至少客戶很少在抱怨功能陽春以外的問題。國內出現的 TWE-COMMERCE 也是以它為基礎,只是兩者並沒有太明顯的差異,所以我一般還是以 xt:Commerce 提供客戶服務。xt:Commerce 的問題在於,原始開發公司已經不再投入資源到開放原始碼版本上,新版本已經是全部改寫的商業產品,所以也許不太能夠期待它未來會有什麼新功能了。

OSCommerce 原本最有機會站在開放原始碼電子商務的領導地位,可惜的是原始開發者在取得資源後並沒有回頭在這個專案投入更多,導致它已經成了末日黃花;而以它為基礎的延伸版本,比較少看到像 xt:Commerce 這樣子規模的成長,所以這個架構之下大概已經看不到什麼未來了。即使是如此,這些專案的成果相較於一些從頭開發的解決方案還是成熟許多,所以用它做穩定的經營還不成問題。

opencart 是另一個值得推薦的系統,因為使用了比較先進的程式架構,所以程式碼會給人比較乾淨的感覺;但是社群不夠大,所以發展比較緩慢,功能大概只比 xt:Commerce 要多一些,但當我開始把玩 PrestaShop 之後,已經沒有再繼續深入它了 XD 。

綜合以上的想法,我會推薦使用 PrestaShop 。主要也許是跟工作室的業務性質不容易吸引大型企業合作的原因有關; MagentoCommerce 的架構龐大也意味著進行延伸開發時需要投入的資源較多,真有興趣深入應該得找一群朋友共同研究吧。不過還是持續會關注 MagentoCommerce 的發展,畢竟就技術層面來說,它的確很迷人啊

我並沒有真的深入每個社群中去了解現況,上述評論也許存在著誤解,歡迎有熟知內情的朋友幫忙糾正

來源: http://blog.twpug.org/524

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=7220

評論

  • edited 二月 2013
    OSCommerce 時代的眼淚啊XD...
    我個人滿推opencart和PrestaShop,原因跟江大差不多,我公司的客戶都是中小型甚至只是實體店鋪老闆想開個站,
    太複雜的他們反而用的??滿天飛,不過實際上最常遇到的問題反而不是購物網站本身,
    反而都是金物流的運作問題...= ="人啊...真的是最會製造問題的生物
  • edited 二月 2013
    是啊,只是就看你從中額外獲得多少利益。

    租房子之後
    別忘了還要能自己蓋房子
    要自用要賣才有辦法自己規劃(狠狠敲他一筆嗎!?)
    至於房子要蓋多大就看個人造化了

    PS:當然若是作業系統或是瀏覽器的問題,那就沒法度啦。
  • edited 四月 2013
    PrestaShop 暫時擱置了,深入(1.5.x)之後發現很多跟數字計算的功能存在著問題,這個部份是電子商務的關鍵,所以有點擔心...

    試著玩玩 Magento 好了 XD
  • edited 四月 2013
    magento很強大這點無法否認
    但他有個明顯的缺點....速度慢
    尤其事再台灣,常常遇到客制的需求
    結果就是....越改越慢~_~
  • edited 四月 2013
    這也是困擾的地方,但是速度慢有藥醫(快取、快取再快取),數字算錯就糗大啦 XD
  • edited 四月 2013
    一點點個人使用的感想供大家參考

    OpenCart 使用心得

    缺點
    1. 訂單成立太容易, 一堆廢資料
    2. jQuery 的部分寫得有點差尤其在 AJAX 的部分
    3. 訂單修改困難, 尤其在多國貨幣下的金額儲存
    4. 多國語言下, customer table 不儲存語言欄位, 非預設語言的客戶常常得重新選擇
    5. 很多重要功能如修改訂單, 建立訂單的功能只寫了半套的感覺
    6. system/library 可以用的 function 有點少
    7. 判斷權限的部分有點麻煩, 只能針對某隻PHP給予權限, 有時候為了更細的權限, 要把一隻PHP拆成好幾隻

    優點
    1. 執行速度很快
    2. DB cache 很好控制
    3. MVC 結構很清楚, 程式碼很好讀, 資料表結構很好懂
    4. 客製化很容易 (除了後臺修改訂單)
    5. 外掛選擇很豐富, 大部分都不貴
    6. 外掛超好賣, 多寫幾隻外掛可以賺不少零用錢
    7. 整合其他 library 很容易

    ------------------------------------

    PrestaShop 使用心得

    缺點
    1. 客製化較麻煩, 上手時間較長, 還需熟 smarty
    2. 資料表結構拆太細, 欄位命名方式比較不同於常見的 open source
    3. 執行速度稍慢
    4. 訂單地址資料是用 address id 關聯實際客戶的地址資料, 修改訂單地址資料會一併修改客戶地址資料
    5. 功能太完整, 模組有點難賣, 布景比較好賣

    優點
    1. 模組化結構, 針對一個功能的相關檔案可以集中在同模組目錄下
    2. 預設提供的功能已經非常完整, 很適合不懂程式設計的人用來架設購物網站
    3. 外掛選擇很豐富, 大部分都不貴
    4. Layout 很有彈性, 適合熟 smarty 又有設計背景的朋友拿來做生財器具
    5. 資料庫結構正規化作的不錯
  • edited 四月 2013
    感謝分享,只是好奇 OpenCart 你有真的放上去銷售嗎?我目前有實際放 Magento 的外掛市集,真的有人買(一度當作詐騙信件...)
  • edited 四月 2013
    我有放上去銷售阿, 不然我怎麼會知道很好賣 XD
  • HAOHAO
    edited 四月 2013
    如果沒有團隊在維護的話,不管是哪套都玩不起來,因為這種商業性程式,我認為專業性是很重要的,不論是翻譯、程式、美編,這三種元素缺一不可。

    偏偏大家對組織團隊不是很有興趣,就像我所招募的 OpenCart 團隊,光是譯文組就很難招募到成員,因為在招募過程中屢次發生被盜用的情況,我也不敢貿然的釋出。

    只能說在不想要當別人的免費勞工,讓人家撿我的東西把它翻譯好,搞到最後我什麼都沒有的情況,我就只能堅持招募團隊,透過團隊運作來翻譯再釋出檔案,可是卻讓人家批評我,真的對我蠻傷的。

    如果說台灣再繼續這樣各玩各的,就算有公司或個人可以獨自掌握,那套程式在台灣的整體商機也等於是零,為什麼台灣對 OpenCart 和 PrestaShop 官方網站,所營造出來的翻譯、程式、美編產業鏈,都不感興趣呢?
    這些程式在國際上都能夠這麼成功,為何台灣就是沒有辦法集結團隊來共創商機呢?(我真的搞不懂) :-(
  • edited 四月 2013
    我認為要不知羞恥才有可能達成向國外那種產業鏈

    東西方文化還是有差的 XD

    建議還是自行組團隊開發吧
    外國的只要參考就好了
  • edited 四月 2013
    不過組團隊開發
    就跟合夥開公司一樣

    下場還是各自單飛
    那還要組團隊嗎?
  • edited 四月 2013
    @HAO, 從陌生人到成為團隊是一個長時間的過程,這個過程往往只能先試著持續的付出,慢慢的從中培養合作默契,然後順勢成為團隊繼續往後推進。即使是國外也大多是同樣發展歷程,都是有人先釋出自己的作品,其他人跟進幫忙修補,提供修補頻率高的自然後加入成為團隊,然後慢慢擴大。這是為什麼我願意在第一時間把做的東西公開,感興趣而有互補需求的人就讓他慢慢出現,我只依據自己的進度持續把它做完。當你害怕別人偷走你的東西時,你是找不到人幫忙的。

    @Odyssey, 組成團隊可以分工讓事情更快完成,分享彼此的經驗來減少跌倒的機會,透過不同的角度看事情來避免一個人的盲點,這些是組成虛擬團隊的好處。這跟合夥開公司不一樣,大家都是依據自己的步調志願投入,藉此進行交流,並沒有強制的義務關係,自然沒有各自單飛的問題。簡單的說,就像是大家一起挖一口井,然後各自取用,當井的水不夠的時候就一起再挖深一點。
  • HAOHAO
    edited 四月 2013
    您說的那些我有做過,但我卻只得到總計 1565 次的下載數,還有少數幾位有興趣參與,卻一直很難搭上線的網友,最後下場就是在沒有經過團隊運作下被盜用,我還被盜用者羞辱說:

    本網站即日起只提供opencart教學(不提供中文語系下載)
    我們台灣人沒有自己的創作軟體已經很悲哀了!
    還有必要為一個程式在爭:一個中文化語系?

    當我在試探他的釋出方式時,得知說必須要先花錢成為學員才能下載他的資源,經過我拆穿之後,我還是有試圖邀請他參與我的團隊,可是他還是丟下上面那些話,真的讓我為之氣結。

    況且,他所謂的「不提供中文語系下載」真的很好笑,他本來就沒有無條件的公開釋出過,下載檔案還需要他的解壓縮密碼才能解開,這樣叫做有提供中文語系下載?

    他還跟我扯說「我翻譯那麼多中文語系都沒在不計較了,居然跟他計較一個 OpenCart 中文語系?」的廢話!問題是他的檔案,都是要付費加入學員才能下載,這樣就是沒在計較嗎?

    只能說當我遇到這種事情,我能不改變作法保護自己嗎?況且我後續的動作,都有將未翻譯的字串整理出來,後續只要經過團隊的運作來翻譯,最後再用團隊的身份對外釋出,就像竹貓那樣,試問我這樣有錯嗎?

    我用的也只是仿照竹貓模式,為什麼人家都沒問題,為何我會走得那麼辛苦,我真的搞不懂!(只是一些細節不同,希望能夠翻譯好再釋出,有那麼困難嗎?) :-(
  • edited 四月 2013
    基本上你提到那個網站的站長,他已經習慣用那種聳動的文字引起話題,我已經麻痺了 (應該也有在看這邊吧,要不要跳出來對號入座一下 ;) );他只是個特例,就別多想了,除非你想要做那種生意

    你的作法沒有錯,還是回到上面提的,"當你害怕別人偷走你的東西時,你是找不到人幫忙的。"

    竹貓也不是一開始就有這麼一群人吧,他們剛開始應該也是一兩個人憑著興趣做出中文化的(這不確定)

    當然你還是可以照著自己的想法進行,我只能說祝福了 :)
  • HAOHAO
    edited 四月 2013
    我承認我翻譯也是要為了賺錢,但我想要賺的是建置費用,主系統語系打從我釋出那天,我就沒有要靠它賺錢的打算,就是因為我知道我無法獨自完成它,對此我也無法忍受他對我的傷害。(就是因為他讓我被別人誤解到現在!)

    此外,不論我怕不怕別人偷走我的東西,在這之前大家必須要先了解每個程式都有不同的翻譯方式,如果大家只看到我只放測試平台沒有檔案的話,我只想說大家是要怎樣的正體中文語系檔案呢?(是各自下載不同時期的半成品,然後在那邊從錯誤當中去修正,還是用單一窗口釋出較完整的檔案?)

    當參與者普遍少數且可以預期用不成熟的半成品,容易引發後續的問題時,我當然會希望用較嚴謹的方式去運作,因為我曾經因為別人的準備不周全,讓我受到莫大的傷害,而且對方完全不認帳,就這樣我對且戰且走很感冒!(而且那是義務幫別人架設網站,就只是因為站長不規劃版面,我就被牽扯進去了!抹黑、攻擊,樣樣都來!)

    我最後要說的是,因為我有這些經歷才會有今天我想要這麼做的理由,那種「亂中有序」對我來說真的只是成語,因為我經歷過太多次沒有準備好的關係,發生混亂的場面了!
  • edited 四月 2013
    免費的東西要轉成付費的
    原本就困難很多
    人心的觀感很難突然變化的
    君不見免費服務用久了
    要收費時人潮都會消失嗎
    2000年會網路泡沫化不是沒來由的

    一開始就收費
    然後衍生的服務也跟著收費會比較容易些

    所以真的建議是組團隊會比現狀來的好
    只是管理真的很難
    很容易互有口角嫌隙(簡單來說就是錢分配不均,不管是實值上的錢或是其他部份)
    最終就是一拍兩散

    不然就是團隊成員一再變動的情況(加入團隊之後,成員肯不肯都不去另外找工作?)
    變一次就換一次版本號
    然後就又被歸類到不知羞恥的團隊去了。。。這就變悲劇了
  • HAOHAO
    edited 四月 2013
    我現在就是要組團隊啦,只是團隊的模式合作會放在 OpenCart 語系的共同維護,至於後續就看團隊成員自己判斷了,看是要免費提供外掛的語系檔,或是各自發展客製化翻譯服務都好。

    只是在這之前,程式的部分還是需要有人去開發適合台灣使用的金流/物流模組,不然光是有語系也是白搭,就看大家能不能建立產業鏈互相幫忙了!
  • HAOHAO
    edited 四月 2013
    請問我們可以組較正規的團隊嗎?
  • edited 四月 2013
    "正規的團隊" 有兩種可能,一種是經由長時間合作產生的默契,另一個則是透過金錢產生架構把人填進去,目前看起來兩個方向都不可行。

    只是覺得,你設定的期望太高了,影響了你的行動力
Sign In or Register to comment.