1. 程式人生 > >為何安卓程式用Java開發

為何安卓程式用Java開發

因為android的UI層是用java的類封裝的,而底層是用c/c++。所以開發UI層(也就是軟體的介面層)時要用java開發,而你要用C++來提高軟體效率的話,需要使用jni,通過jni,在java中可以去呼叫c++程式。 


選擇Java肯定是google經過深思熟慮的抉擇,先說能確定的優勢,
Java有跨平臺優勢,手機的硬體可能千差萬別,Java軟體可以只出一套執行檔。而C/C++需要針對機型出專用的編譯版。
Java有大量人員優勢,幾乎不用重複學習就能做android。
Java天生是做應用的語言,和C/C++不同,Java的語言和類庫都是多年積累的、應用最需要的常用功能。


關於效能,說些個人看法。
越是應用,新創意的成分可能越多,定式越少。這時候用一些寬鬆的語言越能快速的實現產品。
相反沒有創意的複製,才需要高效的語言。比如壓縮演算法-視訊編碼、比如3d繪製演算法,都是專家組總結的最佳演算法,沒有創意只需要實現,這時就需要最高效的語言最大限度的發揮cpu,所以這裡用c都不夠,甚至要彙編SIMD,甚至要電路硬體解碼。
有創意的東西、特別是新東西、還沒來得及形成定式,這時需要一些很靈活的語言,比如網頁網站一日數變,甚至Java都不夠靈活,需要更靈活的指令碼語言python、php之類才合用。
總之,Java是個靈活和效能的一種折中,不夠最快但夠快,不是最靈活但夠靈活。所以才適合做這些應用軟體。