成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Groovy現在可運行在Android系統上了!

移動開發 Android
Groovy開發人員為了在Android上運行Groovy已經等待好幾年了。因為各種困難,它的實現被推遲了,這包括Andriod Dalvik虛擬機的不同字節碼和Groovy代碼的動態特性等。官方對Android的支持可能在Groovy2.4版本。記者采訪了 Champeau,了解了更多的這方面的內容以及未來Groovy在Andriod系統中的發展。

在最近的GR8Conf Europe 2014期間,SpringSource/Pivotal的Groovy高級軟件工程師 Cédric Champeau已經在Andriod上完成一次Groovy代碼的現場pull請求的合并。

Groovy開發人員為了在Android上運行Groovy已經等待好幾年了。因為各種困難,它的實現被推遲了,這包括Andriod Dalvik虛擬機的不同字節碼和Groovy代碼的動態特性等。官方對Android的支持可能在Groovy2.4版本。InfoQ采訪了 Champeau,了解了更多的這方面的內容以及未來Groovy在Andriod系統中的發展。

[[114134]]

Question:讓Groovy在Android上工作,最困難的部分是什么?

實際上有多個問題,它們結合在一起使得這個工作變得有些困難。***個問題是Groovy是一個在運行時生成類的動態語言。問題是那些類是使用標準 的JVM格式生成的,而Android使用了自己的類格式(Dalvik VM)。Dalvik VM并不意味著運行時創建類,這樣就變得很困難,因為每個使用標準JVM字節碼的文件都需要通過'dex'工具加載處理。甚至你能夠在設備上做到這些,運 行時加載類仍然是痛苦的。例如,在jar文件中寫一個類,然后加載這個jar。***,我們決定這不是Groovy運行在Android上的主要關注點,我 們應該更關注用Groovy寫一個完整的應用,不涉及運行時創建類。這意味著有一些限制,但是這對許多用戶來說是不可見的。***,如果你在Android 上靜態編譯Groovy時,使用了@compileStatic,性能以及內存消耗相當于或者同Android原生應用相同。

第二個問題實際上是和系統構建相關。新的Andriod構建系統使用了Gradle和一個自定義的插件,"android",它繞過了正常 的"java"和"groovy"插件提供類似于應用程序變種的功能。這需要一些工作來弄清楚我們如果插入它來添加對Groovy的支持。令人欣慰的是自 從公布以后,Groovy的Gradle插件和Android已經發布,使得事情變得更容易了。***但并非最不重要的一點,我通過編寫對Groovy的支 持了解了Android。這是一件好事情,因為我可以看到在哪些地方使用Groovy會讓你受益,但是實際上這花費我更多的時間比適配Groovy本身!

Question:將來會考慮將這項工作擴展到iOS或者至少是Windows Phone來作為一中跨平臺解決方案嗎?

我肯定非常希望能在iOS上面看到Groovy的身影,但是我沒有硬件設備去測試;)即使最近發布的Swift語言看起來與Groovy非常接近并且遠遠 比Object-C吸引人,人們仍然可以把它作為Groovy的一種替代。但是,我們還要考慮這樣一個問題:Swift是由供應商封鎖的閉源軟件。相比之 下,Groovy則是完全開源的,如果你能在iOS和Android平臺下用Groovy進行編碼,舉個例子來說,人們可能需要做的僅僅是重寫他們應用的 UI部分就可以使他們的應用更適應大部分的手機開發。至于Windows Phone,我完全不知道這是否可行。實際上對于這個平臺,我了解甚少。

Question:當前有哪些不足之處? 還有哪些是不能運行的?

 直到最近,僅僅@CompileStatic類能運行在Android上。但是現在也可以運行動態代碼了,因此幾乎所有的東西都能運行了,包括 構建器。應當知道,使用動態代碼應限于應用程序的非CPU密集型部分,因為它涉及到反射。這就是說,當前的限制是不能運行時實時構建類,因此一些特定的結 構比如映射到類或者實時運行特征將不工作。欣慰的是有辦法解決這些問題。***,在方法描述符的數量上仍然有問題。Andriod缺省的方法總量的限制是 65536,這相當的低,在無優化的情況下,Groovy將消耗8k(例如,ProGuard)。因此這意味著比通常的java應用程序更快的到達限制, 即使有方法可以解決這件事情(例如用multidex選項)。

Question:對將來Groovy/Android的發展有何規劃?

CC: 官方對Android的支持會有***個測試版的Groovy2.4。目前,你已經可以將其應用于自己的應用程序,并且實際上在***個示例應用程序中,這已 經包含在產品中。([2])但是它僅是基于Groovy的一個快照版本。但我真的很想看看新的庫或框架編寫的Groovy是如何便利Android應用程 序的開發。Android非常啰嗦,Groovy則可以使編碼更容易。為此,我們很多社區的開發人員已經寫了大量的像這樣的為Java開發的庫,所以 Groovy的普及和發展只是時間問題。我相信一旦用戶在Android上面體驗到了Groovy,他們不太可能切換回Java;)

[1] https://github.com/melix/groovy-android-gradle-plugin

[2] https://play.google.com/store/apps/details?id=me.champeau.gr8confagenda.app

責任編輯:徐川 來源: infoq
相關推薦

2010-04-23 12:25:49

2011-10-20 09:31:35

Dart

2012-02-22 09:09:04

Ubuntu for UbuntuAndroid

2014-08-18 09:20:14

Android開放系統

2009-04-14 21:53:29

Windows 7微軟軟件

2016-11-24 08:59:10

LinuxTOP500計算機

2009-04-15 08:51:29

Windows 7微軟操作系統

2017-09-20 16:29:19

2018-12-16 16:21:08

HadoopKubernetes容器

2018-05-06 23:04:12

Android Chrome OS操作系統

2011-09-01 10:16:32

2012-02-29 13:32:28

Java

2011-12-21 20:42:15

Android 4.0

2014-01-07 13:07:44

YARN計算框架

2011-10-12 10:31:12

Android移動應用臺式電腦

2020-07-09 11:15:23

甲骨文專有云數據庫一體機

2018-01-29 11:40:44

LinuxAndroidTermux

2010-03-04 10:56:24

Android系統

2017-12-26 13:10:38

技術Android應用

2012-07-20 12:49:52

Office 2013Windows Vis
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本免费在线 | 中文字幕日本一区二区 | 中文字幕不卡在线观看 | 美女爽到呻吟久久久久 | 99pao成人国产永久免费视频 | 欧美在线一区二区三区 | 亚洲综合成人网 | 欧洲一区二区视频 | 久久国产精品免费一区二区三区 | 久久久久免费 | 久久大| 亚洲欧洲在线视频 | 亚洲一区亚洲二区 | 亚洲福利在线观看 | 欧美成人a| 91色网站 | 成人黄色在线观看 | 天天曰夜夜 | 欧美一级全黄 | 激情91 | 天堂久久天堂综合色 | 久久久久久久久久久久久91 | 久久久久久91香蕉国产 | 欧洲一区视频 | 久久久久久久综合色一本 | 日韩视频在线免费观看 | 在线观看电影av | 久久精品国产一区老色匹 | 亚洲 中文 欧美 日韩 在线观看 | 亚洲在线 | 在线视频一区二区 | 亚洲人在线 | 午夜专区 | 国产精品视频区 | 91精品久久久久久久久久入口 | 欧美精品1区2区3区 精品国产欧美一区二区 | 成人亚洲视频 | 性做久久久久久免费观看欧美 | 蜜桃视频在线观看www社区 | 91高清视频在线观看 | 日一区二区 |