air + .net = commandproxy = perfect OS integration ?

自從artemis 進入冬眠狀態後,基本上 air + os integration 這條路大概就死了一半,沒想到 mike chambers 此時又丟出另個有趣的方案。
簡單來說,commandproxy 就是一個 proxy(呃?),它介於 air 與 windows 之間,凡是 air 本身做不到的事,都可以傳指令給 commandproxy 請它完成,把上圖簡化一下就會變成
air < --> commandproxy < --> os(windows, linux, mac - with mono)
所以基本上只要會寫 .net,然後 os 上有裝 .net framework,就可以用它做很多事,例如很多人一直想做 screencap 類的應用,透過這個小 proxy 就可以很容易做到。
不過它在使用上有幾點要特別注意:
1、可能要自已寫個 installer 來安裝兩樣東西,第一個是 air 程式,第二個是它背後的 commandproxy
2、user 啟動程式是,不是直接開啟 air app,而是開啟一個 .net 寫的 app launcher,它要先啟動 commndproxy(想像成是 daemon的概念)再開啟 air 兩者才能合作無間。
只是現在我比較想在 mac 上實作同樣的事啊,看來該去找身邊有mac又正好會 cocoa programming 的朋友聊聊了,咳咳,會是誰呢?
ps. 事後想了想,雖然這玩意等於是為 air 在 desktop 上開了一扇新的大門,但如果要額外安裝一個 proxy 跟一堆 dll/lib,那走到這一步時,其實跟用 zinc 已經差不多了,同樣是 per user base installation,似乎有點打敗原本 air 的初衷。
不過,有選擇總比沒選擇好,而且因為user可以自行針對不同平台實作需要的功能,所以最終得到的 total runtime size 應該還是比 zinc 小的,這方面的高度彈性還是很值得期待(所以,會寫 .net 的朋友也應該去煩一下?那乾脆找個同時會 .net + cocoa 的朋友不就畢其功於一役了?嗯,突然覺得範圍小很多啊,呵呵呵…)


6 Comments Add your own
1. saicn&hellip | January 18th, 2008 at 11:10 pm
不错的东西,不过这样以后,本来的跨平台特性。。。。
2. admin&hellip | January 18th, 2008 at 11:13 pm
是啊,如果每個人都自已做 commandproxy, 或用 .net 做這種東西,確實 cross-platform 的特性可能就損傷了。
但另一方面,沒有這些東西,顯的綁手綁腳,就怕 air最後成也跨平台,敗也跨平台。
分寸的拿捏,考驗adobe的智慧啊。
3. frank&hellip | January 24th, 2008 at 10:27 pm
我觉得不错,跨平台性只是一部分,air至少要在Windows上可以和M$抗衡才是.
4. swingly&hellip | February 5th, 2008 at 5:54 am
這跟用flash的activex模式幾乎一模一樣啊….= =
會寫的早就知道要開好一堆function給flash呼叫了
串資料庫,管行程….都行,玩到爛了
之前就有用這種方式讓flash搞出很炫的效果當logonui
runtime就是裝flash player跟.net framework
AIR怎地走一走又縮起來了….虧我那麼期待說
5. admin&hellip | February 5th, 2008 at 9:52 am
這裏面確實有著兩難的決定。
一方面,air 希望能跨平台,安全並穩定(因此要儘量減少單一平台才能跑的功能,例如用 activex, shell exec 等)。
另一方面,developer 的期待卻是一個強大的 desktop runtime。
在這兩者間的取捨之外,還要加上 release schedule 的壓力,目前的情況看來,很多事即使想做,也來不及在 AIR v1.0 裏完成,勢必只能等下一個版本了。
所以,我也是張大著眼在仔細觀察吶,反正如果急的話,還是可以先用 Zinc 頂著…
6. Salad&hellip | February 28th, 2008 at 6:30 pm
小弟想在final project 做一項目是想用 Flex + AIR 作UI, 程序背後跑 C++ 來做一些 調用到 win32 API 的開發, 初步是想做一個 backup 工具, 看來是有難度了, 大家有什麼意見能給小弟嗎?
Trackback this post | Subscribe to the comments via RSS Feed