其實你也可以寫個網站應用程式

常 常 跟 朋 友 說 我 會 寫 網 站 ,但 是 大 部 分 人 都 以 為 寫 個 網 站 是 寫 個 Blog,……

當 然 我 也 不 是 萬 能 ,我 特 別 短 的 短 處 是 做 圖 像 設 計 (是 謂 曲 高 和 者 寡 ),為 了 掩 飾 我 的 短 處 (其 實 是 長 處 ),我 特 別 傾 向 於 寫 網 站 應 用 程 式 (Web Application)。Web Application 其 實 就 像 是 一 個 在 電 腦 上 執 行 的 程 式 ,但 卻 是 用 瀏 覽 器 (Web Browser)運 行 的 (其 實 根 本 就 是 一 個 網 頁 ),存 取 資 料 的 部 分 也 大 多 是 在 伺 服 器 與 資 料 庫 上 的 。網 站 應 用 程 式 的 好 處 是 基 本 上 不 需 要 圖 像 設 計 的 ,就 像 大 家 使 用 經 年 的 Microsoft Office,都 只 那 些 下 拉 清 單 呀 ,表 格 呀 ,基 本 上 操 作 介 面 都 是 簡 單 易 明 ,規 規 矩 矩 的 為 好 。太 破 格 的 話 反 倒 容 易 讓 使 用 者 不 明 所 以 。

其 實 要 寫 個 網 站 應 用 程 式 你 要 懂 什 麼 呢 ?當 然 你 必 要 懂 得 一 些 程 式 語 言 (Programming language)。基 本 上 你 一 定 得 要 懂 HTML 和 CSS 的 ,然 後 一 定 要 掌 握 至 少 一 套 scripting language,像 asp, cgi, perl, python, php, tcl, guile, ruby… ,client side javascript 也 要 懂 得 一 點 ,database 通 用 的 SQL 也 是 必 須 的 。會 了 這 些 ,大 部 分 的 網 站 應 用 程 式 你 都 可 以 自 己 寫 的 了 。

自 己 學 這 些 東 西 都 是 為 了 興 趣 ,所 以 我 基 乎 都 不 會 用 要 付 款 的 東 西 (例 如 用 一 千 蚊 美 金 買 一 套 Windows Server)。Linux + Apache + Php + Mysql 基 本 上 是 最 平 ,最 多 教 學 資 源 ,最 多 人 用 的 平 台 。如 果 你 像 我 都 希 望 完 全 在 網 上 自 學 ,這 個 平 台 也 應 該 會 適 合 你 。

Grid

說 回 一 個 Web Application,大 概 會 由 什 麼 構 成 的 呢 ?最 基 本 的 會 有 一 些 html form,用 以 輸 入 資 料 到 伺 服 器 或 資 料 庫 。然 後 會 有 一 些 html table,用 以 顯 示 資 料 。這 兩 部 分 是 最 簡 單 的 。

想 資 料 顯 示 得 好 看 一 點 的 ,你 會 用 到 一 種 叫 Grid 的 東 西 。Grid 是 一 個 複 雜 一 點 的 Table,是 用 來 顯 示 資 料 庫 傳 回 的 多 筆 資 料 的 。通 常 可 以 根 據 你 傳 回 的 資 料 顯 示 多 於 一 頁 ,可 以 排 序 ,可 以 搜 尋 ,甚 至 直 接 修 改 資 料 。網 上 有 很 多 免 費 的 Grid 的 Classes,想 要 更 適 合 自 己 就 要 自 己 開 發 自 己 的 Grid class 了 。

Pull-down Menu

Web Application 都 會 有 多 項 功 能 ,即 是 很 多 不 同 的 網 頁 的 。這 時 我 們 就 要 用 Menu 來 幫 助 使 用 者 去 到 指 定 的 頁 面 (Navigation)。Menu 主 要 是 兩 種 ,一 種 是 pulldown menu,就 像 Microsoft office 或 其 他 程 式 常 見 的 ;另 一 種 就 是 treeview menu,很 多 網 站 左 邊 的 ,可 以 打 開 見 到 子 項 目 的 就 是 treeview menu 了 。我 個 人 是 盲 目 傾 同 於 pulldown menu 的 ,原 因 不 明 。網 上 的 Menu classes 也 是 多 如 星 數 的 。

Tab

再 來 就 是 Tab class 了 。Tab 可 以 在 有 限 的 版 面 顯 示 大 量 的 資 料 ,當 你 在 煩 惱 如 何 在 狹 窄 的 頁 面 整 齊 排 列 大 量 的 功 能 或 資 料 ,Tab 就 是 你 的 好 幫 手 了 。免 費 的 Tab classes 當 然 也 是 不 少 的 。

有 了 Grid, menu 和 tab,你 的 Web Application 看 起 來 就 會 很 專 業 的 了 。

然 後 ,你 會 要 把 資 料 輸 出 (export) 給 使 用 者 ,像 做 個 報 告 或 者 什 麼 的 。如 果 只 要 打 印 出 來 ,用 html 可 能 就 夠 了 。但 如 果 是 可 以 給 使 用 者 修 改 ,或 另 外 使 用 的 ,輸 出 成 為 Excel 就 很 必 要 了 。Excel format 你 也 可 以 控 制 很 多 打 印 的 設 定 ,例 如 紙 張 大 小 、列 印 方 向 等 等 。另 外 ,輸 出 為 pdf 也 是 很 多 Web Application 常 見 的 功 能 。某 類 報 告 也 許 需 要 你 把 資 料 繪 畫 成 chart (line chart, bar chart, pie chart)。

給 使 用 者 上 載 檔 案 (例 如 商 品 的 照 片 、會 員 的 照 片 、已 掃 瞄 的 文 件 等 )到 伺 服 器 或 資 料 庫 ,也 是 很 必 要 的 。高 級 一 點 的 ,是 上 載 txt 或 xml 到 伺 服 器 做 資 料 輸 入 (data import) 或 批 次 處 理 (batch processing)。

Web Application on iPhone

進 階 一 點 點 的 ,你 可 能 需 要 懂 得 繪 製 條 碼 (零 售 業 用 的 條 碼 、會 員 証 上 的 條 碼 等 ),手 機 廣 為 通 用 的 QR Code 最 好 也 要 懂 一 點 。現 今 智 能 手 機 當 道 ,學 懂 如 何 將 你 的 Web Application 移 植 到 手 機 ,又 或 者 另 加 一 個 手 機 版 ,都 是 非 常 有 利 的 。

當 然 ,掌 握 了 以 上 所 有 技 術 ,也 並 不 代 表 你 能 夠 寫 一 套 好 的 Web Application。畢 竟 如 何 設 計 資 料 庫 結 構 、程 式 介 面 、和 程 式 碼 ,都 是 針 對 每 一 個 個 案 去 獨 特 設 計 ,並 沒 有 一 個 簡 單 通 用 的 標 準 的 。

近 年 也 越 來 越 流 行 使 用 Web Application Framework,常 標 榜 用 一 套 工 具 就 可 以 輕 鬆 完 成 整 個 網 站 ,有 免 費 的 ,也 有 很 貴 的 。但 我 都 沒 有 使 用 過 。

下 面 是 一 些 免 費 的 classes,可 以 幫 大 家 節 省 一 點 開 發 的 時 間 ,不 敢 說 功 能 完 美 ,大 家 不 妨 用 用 看 。但 如 果 想 達 到 最 理 想 的 效 果 ,還 是 自 己 寫 自 己 的 classes 比 較 好 。

ctleung張 先 生 ,男 性 ,肖 龍 。
職 業 :I.T. Consultant
簡 介 :不 好 好 讀 書 ;七 尺 差 五 寸 ,手 長 過 膝 ,雙 耳 垂 肩 ;性 寬 和 ,寡 言 語 ,喜 怒 不 形 於 色 。據 說 少 時 曾 斬 白 蛇 於 鳳 凰 山 下 ……
This entry was posted in Computer & Network and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>