2012-07-06 65 views
0

對於移動應用程序,我知道它們可以用Java for Android和Objective C for iPhone來編寫。有人向我簡單地提到,實際上使用一種通用語言在不同手機上使用C#語言更好。他暗示說,一種語言對於Android和iPhone上的應用程序總是更好,但我知道這聽起來太好了。移動應用程序的1種語言與2種語言的區別

在兩種不同類型的手機上使用兩種不同語言(java/objective c)的應用程序與兩種手機上的應用程序的一種語言(c#)有什麼區別?

兩者的優缺點是什麼?

回答

4

每個平臺都有自己的官方語言和SDK來開發原生應用程序。它是支持的語言和SDK,所以如果你使用這種本地語言,你將獲得所有的功能,將會是最新的,並且你的應用程序將運行得最快(除非你寫了垃圾代碼,但這是開發者永遠不會做的事情,所以我們可以安全地排除這個假設)。

有一些框架(例如Xamarin)允許您使用相同的語言編寫應用程序並在多個平臺上運行它。優點是顯而易見的=>相同的代碼運行無處不在。缺點是這些框架通常不支持某些特定平臺的獨特功能,因爲這些功能在其他平臺上不存在。此外,由於C#和平臺的目標本地語言之間存在自動翻譯,因此在翻譯過程中可能會出現一些問題。

+0

除了它是在任何地方運行的相同代碼之外,是否還有其他的1種語言的優點?有沒有可能一種語言可能有某些優點或有時會更快?我記得這位同事提到,處理數據實際上在1種語言中效率更高。 – krikara 2012-07-06 05:57:21

+2

相反,如果您正在尋找速度,性能和流暢性,您應該使用特定平臺的本地語言,而不是通用語言。 – 2012-07-06 05:58:13

+0

讓我們假設我擁有兩種選項所需的全部資源和時間。以每種受尊重的母語編寫應用程序始終是最佳選擇? – krikara 2012-07-06 06:00:14