2011-04-01 119 views
0

我必須爲iPad開發一個應用程序。它必須是非基於瀏覽器的。這是一個要求,我不能改變它。針對平板電腦的跨平臺非瀏覽器開發?

我認爲該應用可能對其他平板電腦類型有用,並且很有可能需要第二個應用,該應用需要至少使用IPad和Android; Windows和Linux也很有用。

如果它有什麼不同,這些是平板電腦的「桌面」應用程序,並沒有設想會有任何手機開發。

是否有跨平臺桌面應用程序開發的「大統一理論」?有沒有一個好的IDE,最好是FOSS?我寧願編寫C++或Java代碼,也不太熱衷於Ruby或Python(通過缺乏經驗),但會接受如果沒有其他選擇。

我需要一個GUI構建器,像Borland的Delphi或MSVC或Eclipse Android插件,我需要在不同的平臺上執行不同的代碼的方式(Android版的#ifdef ...等)

任何想法,或者我應該只需繼續爲Ipad編寫當前項目,然後使用基於瀏覽器的HTML5 + CSS3和Jquery/Ajax進行跨平臺應用程序(問題在於有些需要執行本地系統調用,例如en/de-crypting文件和如果有這樣的互聯網訪問,至少有一個應用程序必須在「本地模式」下工作,所以我想我必須綁定一個Web服務器(Apache),如果我去基於瀏覽器(爲了服務網頁),這將沒有必要使用「桌面應用程序」。

任何推薦的IDE,網站?圖書?謝謝

回答

1

「大統一理論」是核心業務邏輯應該駐留在雲中;它允許你的iOS和Android實現僅僅是這個共享邏輯之上的瘦GUI。不幸的是,沒有真正的重用GUI的方法,即使你這樣做了,它也會違背用戶在一個或兩個平臺上的直覺,因爲你不會使用這些特定平臺的範例。

Google App Engine提供了一種在Google的雲計算基礎架構上以合理的成本實現Java核心業務邏輯的方法(開發是免費的,成本與使用率成比例,並且可以限制人們願意支付多少費用)。有一個Eclipse插件用於開發App Engine應用程序。雖然Android SDK只能在命令行中使用(這對於建立連續的構建和測試系統非常有用),但在爲Android開發時,您同樣也想使用Eclipse(專門用於Android開發的插件)。

對於iOS,您需要使用標準的Xcode和iOS SDK。 Xcode是一個IDE,但可以使用命令xcodebuild直接從命令行構建Xcode項目(也適用於連續構建)。 iOS應用程序的標準語言是Objective-C。

+0

我會給你+1,而不同意(以不含糊的方式)。有些東西我沒有說,因爲我不認爲它們是相關的。一個是互聯網acccess將通過非常敏感的sataellite鏈接,所以我想D/L的數據和本地處理 - 雲已經出來,但你不知道這一點。不過,我不同意你在GUI上的陳述;看看使用原生小部件的Java,Qt等...無論如何,非常感謝您花時間回覆。 – Mawg 2011-04-01 03:28:07

+2

即使存在跨平臺的GUI工具包,您的應用也需要在Android和iOS上以非常不同的方式呈現,以便這些平臺的用戶將其視爲「本機」。這兩組用戶都希望某些UI約定和平臺集成不易在通用UI工具箱中抽象出來。 – adamp 2011-04-01 04:28:24

+0

我會給你+1寫作時間。你能否向我解釋你的意思 - 除小部件以外的其他東西? Java,Qt等呢?如果前面出現問題,我想了解它,但仍然不會,儘管你從邁克爾身上消失了。我懷疑我錯過了一些東西 – Mawg 2011-04-02 02:16:21

1

你應該看看jQuery Mobile。我用它在Android和Playbook之間交叉開發。我知道它也是iOS。

也許你的缺點是你必須用JavaScript編程。