Google I/O: Как да те кодирам? Нека преброя пътищата

  • Oct 19, 2023

Дан Морил представи страхотна беседа тази сутрин за 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 виртуални машини