Corona SDK 小感

由於 Corona SDK 不是主流的框架,說實在的,相關的資源也不多,中文相關的資料更是稀少,這種現象對於初學者來說相對不利。日前剛好使用 Corona SDK 實作一個專案的軟體,剛好在這裡提供一些想法,供日後有需要的讀者一些參考。我要先說明一下,我的 mobile app 不是電腦遊戲,而是 business app,這篇文章僅代表 Corona SDK 一部分的面貌。 首先,Corona SDK 使用 Lua 做為其腳本語言,而這不是一個主流的程式語言。筆者先前已撰寫另一篇文章討論這個議題,基本上,Lua 是一個易學的語言,讀者不太需要過度擔心這件事情。由於 Corona SDK 所提供的 Lua API 的方法呼叫都蠻簡短的,也有提供範例和專案展示,足以學習這個框架。不過,...
「點我閱讀更多」

Lua 小感

雖然 Lua 不是一個主流語言,我們可能會在不經意的情況下接觸到 Lua,像是 Corona SDK、Cocos2d-x、Gideros Studio、Defold、World of Warcraft 外掛等。由於 Lua 的執行環境很小,很容易內嵌在其他軟體中,很多遊戲引擎或其他軟體選擇 Lua 做為腳本語言。由於 Lua 不是一個主流的語言,可能會讓人遲疑是否要使用這些 Lua 相關的軟體。筆者先前以 Corona SDK 開發了一個專案,剛好來談談 Lua 這個語言。 整體來說,Lua 相當易學,這也是當初 Lua 設計的目標之一。有程式設計經驗的 Lua 使用者,可以在幾週內就學完大部分的 Lua 語法,開始將 Lua 用於自己的專案。以筆者為例,筆者非資工、資管背景,有學過...
「點我閱讀更多」

跨平台工具的甜蜜陷阱

跨平台 (cross-platform) 一直是程式設計圈子不斷出現的話題,從 C 開始,程式設計師試著處理平台可攜性 (portability),到了 Java,跨平台變成了一個響亮的口號,影響後來,近年來的高階語言很少不能跨平台的,甚至還有 Haxe 這種直接以跨平台為主打的語言。隨著行動科技及 Raspberry Pi 等裝置的興起,程式設計師又要面對更多的異質平台。如果以 “cross-platform mobile framework” 為關鍵字,也可以搜尋到不少新的框架,像是 Xamarin、Corona SDK、RubyMotion、LiveCode、Xojo 等等。對於不想學習那麼多種程式語言的程式設計者來說,跨平台工具就像是蜜糖般誘人。實際上真的那麼好嗎? 雖然演算...
「點我閱讀更多」

領域專用語言:程式語言的利基市場

對於程式語言有興趣的讀者,可能會主動接觸數個主流市場的程式語言,包括 C++、Java、Python 等,甚至,會開始將注意力伸向其他相對冷門的語言,像是 Clojure、Haskell 等。除了學習許多不同的語言外,是否也有想過創造自己的程式語言呢?如果我們將 Python 視為軟體,那麼,Python 命令稿就是操作 Python 的方法。程式語言背後的執行者就是編譯器和直譯器,而製作編譯器和直譯器不是黑魔法,而是有科學的方法可遒循。那麼,我們要如何切入程式語言的領域呢? 一個通用型程式語言的流行,不是一朝一夕可成的。松本行弘 (Ruby 發明者) 就曾經說過,程式語言大約要經過十年的時光,才能變成廣泛討論及使用的語言。而我們要開發一個新的語言,是否一定要用 C 語言從頭開始打造...
「點我閱讀更多」

值得注意的程式語言:D、Go、Rust

在早期,電腦硬體效能不足,腳本語言僅用來做簡單的工作,而大部分的應用程式還是用 C/C++ 這類編譯語言開發。後來,硬體效能逐漸進步,雖然腳本語言先天不快,相對來說,速度也足夠了。而腳本語言易於使用、開發速度快,而越來越受到歡迎。不過,在某些需要效能的時候,腳本語言就顯出其不足,這時候,用 C/C++ (或 Java) 改寫效能瓶頸的部分,再包裝成套件或模組,就是一種典型的開發模式。隨著運算速度及環境部署的需求,這類開發模式逐漸令人無法滿意,而直接回歸 C/C++ 又過於低階。著眼這一方面的需要,出現了 D、Go、Rust 等新興的編譯語言。 這類語言的共通點,在於提供了一套跨平台的語言環境,除了部分和 C/C++ 連接的部分可能會些微地受到平台的影響外,以這些語言為基礎的專案,基本...
「點我閱讀更多」