iOS 개발자의 Android 개발 경험 (Nick Farina)
Source
Evernote/Technote scraps/Nick Farina - An iOS Developer Takes on Android.md
Summary
iOS 개발자 Nick Farina가 Meridian 앱의 Android 버전을 네이티브 Java로 개발하며 겪은 경험을 공유합니다. 크로스플랫폼 도구 대신 플랫폼별 네이티브 관례(탭 위치, Intent, Activity 생명주기 등)를 존중하는 접근을 취했습니다. 개발 환경 측면에서 Android 개발을 위해 Eclipse와 ADT 플러그인 설정이 필요하며, 초기에는 복잡하고 느리게 느껴지지만 익숙해지면 강력한 코드 완성 및 리팩토링 기능을 제공함을 지적합니다. Java 언어와 Android 프레임워크는 iOS의 Objective-C 및 Cocoa Touch와 구조적 유사성이 높으며, 클래스 구조와 코드 스타일이 매우 비슷하게 유지될 수 있음을 강조합니다. 디버깅 환경에서는 iOS 시뮬레이터가 실제 OS가 아닌 데스크톱 애플리케이션으로 컴파일되어 실행되는 반면, Android 에뮬레이션 환경의 차이점을 언급하며 시작합니다.
Key Points
- Meridian 앱의 Android 버전은 Titanium 등 크로스플랫폼 도구 없이 순수 Java로 네이티브 개발함
- Android 플랫폼의 고유한 관례(Intent, Activity 관리, GC 최적화 등)를 따르는 것이 중요함
- Android 개발 환경(Eclipse + ADT)은 설정이 복잡하고 초기 학습 곡선이 높으나, 익숙해지면 생산성 향상 도구가 뛰어남
- Android 프레임워크와 Java는 iOS의 Objective-C/Cocoa Touch와 개념적, 구조적 유사성이 높음
- iOS 시뮬레이터는 실제 모바일 OS가 아닌 데스크톱 환경에서 실행되는 점을 지적함