|
作者 jopen 2015-02-05 22:50:16
開(kāi)發(fā)一個(gè)移動(dòng)應(yīng)用如果你想要面向盡可能廣的用戶,你需要為Android開(kāi)發(fā)一個(gè),iOS開(kāi)發(fā)一個(gè),Web開(kāi)發(fā)一個(gè)。為每個(gè)平臺(tái)開(kāi)發(fā)一個(gè)版本意味著三倍的
工作量,三倍的bug處理量。令整個(gè)事件變得更復(fù)雜的是,三個(gè)平臺(tái)必須使用不同的語(yǔ)言開(kāi)發(fā):iOS是Objective-C/Swift、Android
是 Java,而Web是JavaScript/CSS/HTML5。在開(kāi)發(fā)Google
Inbox時(shí),Google采用了一組工具讓它能在三個(gè)不同平臺(tái)之間共享70%的代碼。它的工具就是開(kāi)源的J2ObjC,顧名思義它將Android的
Java代碼翻譯成iOS的Objective-C代碼。Google
Sheets就用了J2ObjC,但I(xiàn)nbox是至今使用J2ObjC的最大項(xiàng)目。J2ObjC沒(méi)有翻譯UI部分,除了翻譯底層的相同功能,為了更好的用
戶體驗(yàn)每個(gè)平臺(tái)仍然使用了原生的UI。 |
|
|