Дан Морил представи страхотна беседа тази сутрин за 3-те различни начина за кодиране за Android: управляван код (Dalvik), Ajax и собствен код. За да демонстрира различните начини, Дан реши да напише едно и също приложение, приложение за групиране на k-означава, по 3 различни начина.
Дан Морил представи страхотна беседа тази сутрин за 3-те различни начина за кодиране за Android: управляван код (Dalvik), Ajax и собствен код. За да демонстрира различните начини, Дан реши да напише едно и също приложение, приложение за групиране на k-означава, по 3 различни начина.
Първият начин е управляван код. Dalvik е виртуална машина, оптимизирана за вградени устройства. Той е проектиран да работи бързо, без да се налага да бъде компилиран. Приложенията на Dalvik се поддържат, където е необходимо, от системна инфраструктура в естествен код, например OpenGL, Binder IPC, медии и др. Dalvik е най-богатата форма на разработка на приложения за Android.
Уеб приложенията/Ajax приложенията са разделени на декларативни оформления и код. JavaScript променя DOM, за да създаде UI ефекти. Наскоро етикетът canvas позволява на JavaScript да прави директно рисуване. Android 1.5 включва браузър, базиран на WebKit + SquirrelFish. Той използва WebKit v528.5, който е еквивалентен на Safari 4 beta, но поради грешка се отчита като 3.1.2 в низа на потребителския агент. Браузърът на Android включва поддръжка за маркера canvas и приставката Google Gears (версия 0.5.17.0 (с местоположение).
Native Code се поддържа в Native Development toolKit (NDK), който наскоро беше добавен към клона „Donut“ в контрола на източника. NDK приложенията се стартират като приложения на Dalvik, които зареждат динамична библиотека и след това извършват повиквания към собствения код чрез JNI за тежка работа. Естественият код е полезен за неща като физически симулации, ефективно/бързо зареждане на големи файлове с данни, търсене с интензивна скорост и персонализирани виртуални машини като SCUMM.
Дан определи времето за различните реализации, за да открие техните силни и слаби страни:
- Dalvik: 18ms изобразяване, 1000ms изчисление
- Ajax: 334ms изобразяване, 698ms изчисление
- Естествен: 18ms изобразяване, 150ms изчисление
Той също така демонстрира това, което нарече „Amplified Ajax“, което включва разширяване на Ajax DOM в Android WebView с Dalvik или Native реализации.
По време на разговора Дан разкри някои бъдещи насоки за Dalvik и Ajax на Android. В бъдеще екипът на Android планира да подобри Dalvik чрез въвеждане на:
- Подобрено събиране на боклука
- Компилация точно навреме
- Оптимизация в основните библиотеки
- Допълнителни API като Bluetooth, P2P мрежи и др
Ajax програмистите на Android могат да очакват с нетърпение:
- Подобрено внедряване на HTML5
- По-бързи JavaScript виртуални машини