係nas 用docker 開左幾個web app container

TOP

睇咗好幾次呢個 post, 資料有啲零碎, 可能需要整理一下~
Windows + Apache + PHP Module + MySQL Server (即係 WAMP)
而家都仲有人會係咁玩, 但多數都係喺開發階段.
一個 xampp 搞掂晒, 仲有埋 portable 版比你可以放喺隻 USB 手指度用.
但到 server 出街階段, 正常都會轉用 linux server, 系統會明顯快啲穩定啲.

Apache 依然係 2.0 即係冇進步過, 但依然會有一班忠實 fans,
同一班 Linux distro default 咗比你.
Apache 唔算係沒落, 只係去咗搞其他嘢~
因為一直有人用緊, 所以唔可以算係 Win98 轉 Win11 嗰種 "取代",
只係有另一班人用緊另一啲嘢做相同嘅事.

我同你一樣10幾年前用 WAMP 寫 web base desktop apps,
由 php + html 進化度用 JQuery + EasyUI + php.
然後就發現班 user 係咁話要喺手機度用唔要 Desktop,
之後用咗一段時間 JQuery Mobile, 但後來網頁要更新做手機版
跟住用 CMS + responsive 版面, CMS 依然係 WAMP,
但後來改用 Linux 即係 LAMP.

之後因為用咗 google cloud 一段時間, 轉咗用佢嘅 service,
web 開發大致停咗, 到最近開始用 docker 同 javascript framework,
搭 google api 做 login 認證, 同喺 server 上 Gen Excel/Word report,
都可以用 php 達成. 但新一代嘅 programmer 都依然會同我講, 我用嘅技術已經 outdate.

我就覺得只要 Job Done 就可以, 真係視乎你點睇,
但不斷學習更新自己亦都好重要.
我有時會覺得, 與其個 webpage 最後都係放喺 linux 度行,
其實係可以用 Linux GUI + vscode 做開發寫 code,
開發環境會同喺 mac 機寫 program 嘅情況差唔多.



而家呢個年代會係點呢? 我有個少少總結.
先講 Front End 部份.
HTML 用到第5代, 以前嗰啲可以唔洗再理.
集中用晒 UTF-8, 永久解決咗亂碼問題.

Javascript 去到 ES6, 大多數 Browser 都跟呢個 standard,
解決咗 Javascript 唔兼容嘅問題. AJAX 轉咗用 fetch 機制
真係再唔洗理會其他 Browser, 因為冇晒感受~

由於手機用戶多咗, 佢哋好多時用 3G 4G,
網速感覺會去返 PC 行 56K / 10M Lan 年代,
所以網頁開發會依然要求 file size 細, load 得快.
亦因為呢兩個原因, 引致好多 Web developer 唔想再用 JQuery (佢太大舊)
回歸返去普通 Javascript (內行人稱 vanilla Javascript),
但佢又仲有好多其他古怪問題.
再加上好多 Web developer 都係 programmer 出身,
就令到 Javascript 嘅 Superset (TypeScript), 以及 Javascript Framework 興起
即係 AngularJS, ReactJS, VueJS 呢類.

呢類網頁開發同以前最大嘅分別, 係要先用 nodejs Gen 一個 default project,
再根據佢提供比你嘅 file structure 編寫特定功能嘅程式,
然後再用 nodejs build "一個 html, 一個 js 同一個 css" 做 "成個網站系統".
好似以前用 c++ 寫好多個 .c/.h file 出嚟, 去 complie 做一個 exe 咁.

有部份 web developer 其實唔鐘意咁樣寫網頁,
所以依然保留用 JQuery / AplineJS 呢類,
一頁link 一頁咁, 寫晒成個 html + JS 嘅傳統寫法.

CSS 嗰部份都有改進過, 初代 CSS 其實都有唔兼容其他 Browser 嘅問題,
而且因為好 hard code, 所以有出過 SASS, PostCSS 之類嘅工具.
甚至用 javascript 幫手做 CSS 處理,
JQuery + 預設 style class 幫手起樣式嘅 Bootstrap CSS Framework 係最出名.
但 Bootstrap 去到第5代都放棄咗用 JQuery.

新一代 CSS (最佳代表作係 Tailwind css) 仲會用 nodejs 去幫你 Gen 一個 default project,
然後喺你寫好 program 再 build project 時, 順便幫你 gen 埋個 custom css 出嚟,
令到你個 css 好細, 唔洗 load 晒成個 css library. Tailwind css 起初比較難學但超級好用.

再講到 Back End. php 依然係最多人用, 因為巿場仲有好多舊網站,
但係由於 nodejs 本身有 web service 功能, 比 programmer 可以單一用 javascript,
寫晒 backend 同 froutend 兩邊程式, 令到 php, apache 同 nginx 相對少咗人用.
但係我覺得 nodejs 應該取代唔到 apache 同 nginx 嘅地位,
不竟兩者用途唔同. Nginx 更適合做 reverse proxy,
幫手用 domain name + SSL 去管理 docker 唔同 service 嘅 port redirect

另一個重大變化係而家寫 php / nodejs 嘅 backend code, 唔會再依靠 server Gen html,
反而用 api 嘅方式處理. 即係 backend 只係接 post/get request, 回傳 json 比 frontend.
喺 frontend 用 fetch / axios (ajax) 發出 request,
接收 json 後再用 javascript 喺 client side 做 rendering (update html dom 出結果).

最後一項係 server side database, 唔單止只會用 mysql/mariadb,
亦都多咗人用 mongoDB/Redis 之類嘅 NoSQL db.
呢類 NoSQL db 放棄咗 relational db, load data 會快過 mysql.
甚至只用 api 就達成 CRUD 嘅 GraphQL.
不過用咩 db/programming language 就視乎你跟咩 project 喇~

如果你想喺 server 做 AI 工作, php / nodejs 都未必滿足到需求,
咁你就要轉用 python django + Tensorflow / Keras, 當然呢個已經係另一個課題~

補充一點: 有 ching 提到 docker, 用落真係有啲似 xampp.
只係 docker 要寫 yaml 再用 docker-compose 起個 service set port,
用 broswer 打 http://ip:port/ 就用得.
但要學寫 yaml file = 學多一款寫新 html 咁樣. 起初覺得好煩好難學.
後來用咗 portainer 有啲改善, 但係下下要 build image 去揀返啱自己用嘅 library,
呢度要花好多時間去起去試去處理囉... 但係好處係 - 可以用單一個 linux/win server,
入面用唔同嘅 port 做好多個 web hosting, 再用 nginx reverse proxy / trafik 去管理
Docker 入面有啲乜可以任你砌, apache + php又得, nginx + nodejs 又得.
純一個 Wordpress / Joomla / nextcloud 又得.
如果隻 nas 有埋 docker 玩就連 VM / server 都可以唔洗起~

TOP

本帖最後由 shal 於 2022-5-14 12:38 編輯
睇咗好幾次呢個 post, 資料有啲零碎, 可能需要整理一下~
Windows + Apache + PHP Module + MySQL Server ( ...
ink 發表於 2022-5-14 12:14



    我自己改左用websocket / graphql 好多年了
個人project 寫開即時野多 所以好小用restful

backend nodejs / java / python 期實都己比php 易寫易學好多
返正呢個年代都好小人做前後合一
我都用VUE+React.js 做前, nodejs(nestjs) / python (fastAPI) 做後
UI 用 taliwin css , 我連CSS都放棄唔寫了 XD
API 用 websocket / graphql
DB ORM(sqlite or mysql 用json sql library 做左半個nosql db  ) / MongoDB

TOP

laravel 令 php 延續

TOP

Salisjs 係乜東東?多唔多人用?

TOP

好漫長嘅心路歷程

睇咗好幾次呢個 post, 資料有啲零碎, 可能需要整理一下~
Windows + Apache + PHP Module + MySQL Server ( ...
ink 發表於 2022-5-14 12:14

TOP

回覆 24# kof2002


    我覺得symfony 影響大啲

TOP

回覆  kof2002


    我覺得symfony 影響大啲
Jackywongkk 發表於 2022-5-17 17:04



    Laravel 都影響唔細,現在仲有好多人用佢永續php

TOP