2011-09-07 30 views
23

使用ObjC(不需要Apple風格)開發服務器端Web應用程序是否可行/可行? GNU ObjC工具鏈是否可用?請分享您的想法和經驗。Web開發中的Objective-C

Upd。我希望聽到更具體的實踐經驗的答案,比如「我嘗試過/使用......並且它很棒/很糟糕,因爲......」。 300賞金!

Upd2。我的問題背後的基本原理是,我即將開發一個具有大型基於Web的後端的iOS應用程序,並認爲對於這兩個部分使用相同的工具鏈/ IDE是很好的。但是,唉,到目前爲止的答案表明,這是不可行的。謝謝大家花時間。

回答

17

市場已經相當明確的答案是,是的,這是可能的,不,試圖推出這樣的東西在市場上是不可行的。 Apple的WebObjects(蘋果在線商店使用的)曾經是Objective-C,甚至他們將它移植到Java。

至於GNU Objective-C工具鏈,我也不會非常樂觀地看待它的未來。自從他們遷移到GPLv3以來,Apple已經拋棄了他們,並且圍繞LLVM構建了自己的Objective-C編譯器,所以這些代碼路徑在GNU方面可能會變得有些生疏。 GNU「支持」在陽光下的所有東西,但使用的東西越多,其實現得到越多的審查。

至於「我用過」的一點,是的,我在當天使用了WebObjects的Objective-C變體。它的時間相當不錯,但Objective-C的相對較低級別的內存分配需求和非C語法使其有點尷尬。其強大的打字功能對於核心開發非常有用,但是對於網頁開發的「腳本化」方面來說卻是沉重的負擔。最後,如果一種語言是圖靈完成的,那麼理論上你可以用另一種語言來做任何事情,但是缺少解析器,腳本,數據庫交互,索引等庫的生態系統,意味着與Java或JVM兼容的語言相比,您將從相當深的山谷開始。

8

有一個名爲Cappuccino的JavaScript框架,它使用與Objective-C非常相似的語法,他們稱之爲Objective-J。但作爲一名長期的Cocoa開發人員,我更喜歡Sproutcore,它不復制Objective-C語法,但它確實借用了Cocoa的一些創意,因爲它是由前Apple工程師創建的。

如果你正在考慮服務器端的開發,我想你可以做到這一點,但它可能會採取少學一些流行的服務器端語言,而不是讓這一切與Objective-C的運行工作

4

Apple曾經(並且仍然部分)使用WebObjects來構建他們的網絡資料,它將MVC結構和許多Cocoa應用程序的設計模式移植到基於Java的Web服務器框架中。我最近看到有人試圖用Obj-J創建一個名爲Womble的服務器端框架。儘管如此,看起來還是很原始的。無論哪種方式,我不知道一個純粹的Obj-C網絡框架實現...

6

蘋果的WebObjects最初是一個Objective-C平臺,然後它被移植到Java。 GNUStep的一個子項目,名爲GNUStepWeb,旨在與WebObjects 4.5兼容 - 最後一個支持Objective-C(2000年發佈)的版本。我不確定這個實施過程有多完整,但是一年以來沒有太多的發展。

7

有Frothkit。然而,它自2010年以來一直沒有更新,主要是因爲Rails和Django等其他語言的成熟框架。