2013-01-15 46 views
1

我計劃建立一個跨平臺的移動應用,具有類似天然的版本爲大多數移動平臺,也許Windows手機,安卓,iOS版。它應該將數據存儲在服務器上的數據庫中,而移動應用程序主要用於可視化(數字)數據。跨平臺移動應用程序和RESTful Web服務和評分算法 - 建築與技術

基本使用場景

  • 用戶打開應用
  • 應用數據通過互聯網連接刷新
  • 用戶輸入新數據
  • 新的數據發送到服務器,處理和數據庫更新
  • 用戶應用程序的數據是根據DB數據更新(動畫!
  • 用戶更新其應用程序中的設置,改變它的行爲。

對於單獨設計和編程移動應用程序+ Web服務,我是一個noob,所以我希望你能幫助我解決以下問題。我最熟悉的技術:Java EE,Python,HTML/CSS/JS,MySQL,Graphics。也許我應該去PhoneGap?非常感謝!

1)您會推薦什麼跨平臺移動技術?

2)什麼樣的解決方案最適合服務器/應用服務器? (估計行代碼< 5000)

3)什麼是一個好地方,開始學習評分算法?

如果您有任何問題的答案,請回復。

Basic structure of the service

編輯:發現了一個類似的問題:Cross-Platform Mobile Application Solution

回答

1

1)不要使用PhoneGap的,雖然知道它,但不要忘了考慮一個簡單的HTML5應用程序。如果可能的話,這將爲您節省大量工作並最大限度地提高兼容性

2)您可以開發與兩個Java EE的偉大的RESTful Web服務(參見JAX-RS /春季)和Python(見的Django)。這個選擇實際上更多是個人品味的問題。

1

請儘量避免編寫跨平臺應用程序。這是可行的使用HTML5 + jQuery。但是你永遠無法獲得與原生應用程序相同的外觀和感覺。其次Windows,ios和android都有自己的外觀和感覺,並且會有自己的元素。你永遠不能迎合所有三個具有相同的代碼庫。更好的是使用本地sdks編碼。

1

@thevangelist:這是你提了一個很好的問題,所有的移動開發者,當我們開始編寫一個應用程序面臨同樣的問題。今天,市場上有多個開源框架正試圖解決同樣的問題,但以不同的方式。

根據我的研究和經驗,我想推薦下面,我們可以同時建立的移動應用程序考慮技術。

查看:查看是任何移動應用程序的重要組成部分。當我們開始構建UI/UX時,我們也認爲它是平臺設計原則。尋找這些觀點我想推薦React Native

React Native:它是一個Facebook,並且Instagram開發了用於創建原生移動應用程序的JavaScript庫。它允許我們使用JSX編寫iOS和Android應用程序,這是一個已知的HTML類似代碼和JavaScript。它基於「一次學習,隨處寫字」方法。

  • 優點

    • 呈現與本機的行爲和交互原生的觀點,你將會有一個真正的本地應用程序

    • 具有「一次學習的範例結束,隨處寫「,開發人員只需要使用React和JavaScript爲Andoroid,iOS創建更好的應用程序。

    • 使用本地架構和概念

    • 它不需要的WebView

    • CSS Flexbox的用於佈局設計

  • 缺點

    • 代碼抽象導致錯誤和內存泄漏

    • 不能沒有API,這是由陣營原生提供工作,在技術上有沒有像經典的混合移動應用沒有回退

    • 當創建合適的本地應用程序,一個開發商將有關於性能調整更多的權力和控制

    • 陣營本土仍然是一個新的框架,所以我們無法預測可能出現的問題和缺點

這些缺點可以忽略不計,特別是如果我們認爲React Native每天都在爲越來越多的本地應用程序提供支持。

Data in Transit:如果您的應用程序同步來自Web服務的數據,那麼市場上有多種框架可以讓我們的工作更輕鬆。請在下面找到一些最流行的JavaScript的RESTful框架的:

ACTIONHEROStrongLoop

在休息數據:您也將需要進行同步數據離線存儲。由於我們沒有直接支持JavaScript中的本地SQLite,我們需要使用一些React Native SQLite插件。請在下面找到插件,它在市場上可供選擇:

almostandporjbrodriguezramsundark5remobile

用於以休息轉機/數據數據,我想推薦Siminov Framework這是適用於所有主要平臺(Android,iOS,Windows)。它還支持混合技術,如React NativeCordova,Xamarin

優點

  • 所有主要平臺上(Android,iOS和Windows)中
  • 易於配置,它採用我們可以輕鬆地配置我們的應用程序的數據庫提供了標準的基於XML的結構
  • 它允許開發人員將ORM與遠程RESTFul Web服務綁定在一起
  • 也支持所有平臺上的SQLCipher

缺點

  • 缺乏社區的:最近,他們紛紛推出自己的產品上所有的主要平臺,而不是很多人都在使用它。
  • 由於配置基於XML結構,這對我來說看起來很老。但根據他們的文檔也做的目的是支持所有的主流平臺

算法:我已經找到相關的算法此鏈接nurlybayevaAMS9,希望這可以幫助你。

+0

有趣的是,這個話題仍然與3年前當我最初提出這個問題時相關。據我所知,剛剛開始真正解決這個問題的React native。 :) – thevangelist

+0

@thevangelist:同意,由於多平臺(Android,iOS,Windows),構建/維護移動應用程序非常困難。許多框架都試圖解決這個問題,但不幸的是,所有這些都對性能/ UI有一些/其他的影響。去年Facebook發佈了React Native,從此它在市場上引起轟動。我個人認爲React Native是移動應用程序開發的完美解決方案。 –