Google I/O: 어떻게 코딩하나요? 방법을 세어보자

  • Oct 19, 2023

Dan Morrill은 오늘 아침 Android용 코딩의 3가지 방법인 관리 코드(Dalvik), Ajax 및 네이티브 코드에 대해 훌륭한 강연을 했습니다. Dan이 동일한 앱인 k-평균 클러스터링 애플리케이션을 작성하기로 결정한 다양한 방법을 3가지 방법으로 보여주기 위해.

Dan Morrill은 오늘 아침 Android용 코딩의 3가지 방법인 관리 코드(Dalvik), Ajax 및 네이티브 코드에 대해 훌륭한 강연을 했습니다. Dan이 동일한 앱인 k-평균 클러스터링 애플리케이션을 작성하기로 결정한 다양한 방법을 3가지 방법으로 보여주기 위해.

첫 번째 방법은 관리 코드입니다. Dalvik은 임베디드 장치에 최적화된 가상 머신입니다. 컴파일할 필요 없이 빠르게 실행되도록 설계되었습니다. Dalvik 앱은 OpenGL, Binder IPC, 미디어 등과 같은 네이티브 코드의 시스템 인프라에서 필요한 경우 지원됩니다. Dalvik은 Android에서 가장 풍부한 형태의 앱 개발입니다.

웹 앱/Ajax 앱은 선언적 레이아웃과 코드로 구분됩니다. JavaScript는 DOM을 변형하여 UI 효과를 생성합니다. 최근 캔버스 태그를 사용하면 JavaScript에서 직접 페인팅을 수행할 수 있습니다. Android 1.5에는 WebKit + SquirrelFish 기반 브라우저가 포함되어 있습니다. Safari 4 베타와 동일한 WebKit v528.5를 사용하지만 버그로 인해 사용자 에이전트 문자열에서 3.1.2로 보고됩니다. Android 브라우저에는 캔버스 태그 및 Google Gears 플러그인(버전 0.5.17.0(위치 포함))에 대한 지원이 포함되어 있습니다.

네이티브 코드는 최근 소스 제어의 "도넛" 분기에 추가된 NDK(네이티브 개발 도구 키트)에서 지원됩니다. NDK 앱은 동적 라이브러리를 로드한 다음 JNI를 통해 네이티브 코드를 호출하여 무거운 작업을 수행하는 Dalvik 애플리케이션으로 실행됩니다. 네이티브 코드는 물리 시뮬레이션, 대용량 데이터 파일의 효율적이고 빠른 로드, 속도 집약적인 조회, SCUMM과 같은 사용자 지정 VM 등에 유용합니다.

Dan은 강점과 약점을 발견하기 위해 다양한 구현 시간을 정했습니다.

  • Dalvik: 18ms 렌더링, 1000ms 계산
  • Ajax: 렌더링 334ms, 계산 698ms
  • 기본: 렌더링 18ms, 계산 150ms

그는 또한 Dalvik 또는 기본 구현을 사용하여 Android WebView에서 Ajax DOM을 확장하는 것과 관련된 "Amplified Ajax"를 시연했습니다.

강연 중에 Dan은 Android에서 Dalvik과 Ajax의 향후 방향을 밝혔습니다. 앞으로 Android 팀은 다음을 도입하여 Dalvik을 개선할 계획입니다.

  • 향상된 가비지 수집
  • 적시 편집
  • 핵심 라이브러리 최적화
  • Bluetooth, P2P 네트워킹 등과 같은 추가 API

Android의 Ajax 코더는 다음을 기대할 수 있습니다.

  • 향상된 HTML5 구현
  • 더 빠른 JavaScript 가상 머신