기본 콘텐츠로 건너뛰기

2008의 게시물 표시

Java ME as Mobile Phone Platform?

At last, Sun Microsystems released "Java FX 1.0"!

from www.sun.com

If you look into the big pictures of Java FX from Sun, you can see it will works on Java ME also.
By using this fantastic new technology from mobile phone, I think Java ME can be a good candidate as a mobile phone software platform.
Of course, Java ME is the most available mobile phone software platform already. But, it must be more.

This year Google announced Android as an open mobile phone platforms. This includes Linux operating system and Android SDK as software development environments by using Java.
But, what if your company don't want to spent time and resources on Linux OS. But, still want to use old but well established simple OS. (for example, REX)

How OEM like this can follow new wave of mobile phone software platform - open, object oriented language, tool supports, dynamic updating, good looking and etc.

Here is another option. I think the Java ME can be an excellent choice as a mobile phone software …

안드로이드 G1폰에 대한 부정적인 예측...

세계 최초의 구글폰으로 불리며 인기를 끌고 있는 HTC의 G1의 미래가 그다지 밝지 않을 것이라는 전망이 나와 눈길을 끌고 있다.
미국 시장에서 T모바일을 통해 판매되고 있는 안드로이드 폰 G1은 경쟁사인 버라이즌으로부터 몇몇 이유로 인해 시장에서 큰 호응을 받지 못할 것이라는 혹평을 받았다. 그런데 버라이즌이 제기한 문제 의식이 나름대로 타당성이 있는 것으로 보인다.

...

(이상 중앙일보 기사에서.)

직접 G1 폰을 보지는 못하였으나 위 기사를 접하고 역시 iPhone에 경쟁하기에는 아직 안드로이드로서는 무리라는 결론을 내리게 되었다.

개인적으로 개발 툴을 모두 설치하여 조금씩이나마 사용한 경험으로도 iPhone 개발 환경의 완성도는 문서, IDE, SDK 등등 모든 면에서 안드로이드에 앞서있다고 보인다.

또한, 현재 시장에 퍼진 디바이스의 개수도 1000만대 vs 10만대(?) 수준으로 어플리케이션 개발자의 입장에서 볼 때 iPhone이 비교할 수 없을 정도로 더 매력적이다.

안드로이드가 iPhone의 경쟁에서 우위 혹은 비슷한 경쟁력을 갖추기 위해서는 아래와 같은 점들이 해결되어야 할 것으로 보인다.
사용자에게 매력적인 디바이스 - 현재 G1 폰의 디자인등은 볼품없음비지니스 사용자를 위한 기능 - VPN, Exchange Server 지원 등개발자 도구 지원 강화 - 빈약한 문서 보충, 좀 더 편리한 개발 환경 (WYSWYG)여러 회사의 안드로이드 코드 변경에 따른 디바이스간 차이점 극복을 위한 구글의 노력특히, 안드로이드가 여러 회사에서 아무런 제약 조건 없이 수정이 가능한 오픈소스라는 점에서 구글이 중심점에 서서 표준화 문제를 해결하지 않으면 여러 디바이스들이 시장에 나타날 수록 사용자에게 혼란이 가중되지 않을까 걱정된다.

안드로이드 시장

안드로이드 시장이 열렸습니다!
소프트웨어를 생산하시는 노동자 여러분. 기뻐하세요. 여러분들께 돈벌 기회를 제공해드리겠습니다. 네. 맞습니다. 바로 돈을 벌 기회를 말입니다. $$$

그동안 아이폰 시장에서만 제품을 팔고 계셨다면 안드로이드 시장에도 제품을 내놓으세요. 여러분이 좋아하시는 자바만 재료로 사용하면 되니 간편하게 제품을 만드실 수 있습니다.

물론, 장점만 있는 것은 아닙니다. 아직 시장에 찾아오시는 손님이 아이폰 시장에 비해 좀 적어서 탈이기는 합니다만 걱정마세요 전단지를 돌려서라도 손님을 마구 마구 끌어오도록 하겠습니다.

자. 그럼 어떻게 제품을 판매할 수 있는지 설명하겠습니다. 귀 기울여주세요.
우선 $25의 돈을 준비해주세요. 네? 이게 뭐냐구요? 물건을 팔려면 이정도 돈은 투자하셔야죠.
그리고, 안드로이드 SDK로 만든 잘 구어진 소프트웨어도 꼭 필요하겠죠?
이정도 준비만 하시면 완벽합니다. 나머지는 저희 안드로이드 시장과 고객의 선택에 맞겨주세요. 아래는 우리 시장 모습입니다. 꼭 한번 들려주세요!

모토로라의 선택과 미래

앞으로 모토로라는 자사 휴대폰에 탑재하는 운영체제수를 3개까지 축소할 것으로 전망된다. 구글 안드로이드를 중간급 제품에 포진시키고 윈도 모바일과 자체적인 플랫폼 P2K도 계속 활용하기로 했다.

이상 ZDNet Korea 기사에서.

위기에 빠진 모토로라가 부활을 위한 칼을 빼 들었다. 그 핵심으로 개발 플랫폼을 3개로 압축한다고 한다. 위 기사가 언급하듯이 2개의 플랫폼은 우리가 익히 스마트폰 플랫폼으로 알고 있는 것들이고 나머지 하나는 아마도 저사양 휴대폰을 위한 자체 솔루션으로 보인다.

특별한 시기에 나온 특단의 해결책이라고는 하나 의미심장한 것이 다양하고 표준화되지 않던 휴대폰 S/W 플랫폼이 몇몇 플랫폼으로 개편의 조짐이 보이고 있다는 것이다.
만일, 금번 조치가 시장에서 성공하여 모토로라가 다시 옛 영광을 되찾을 수 있다면 아마도 다른 휴대폰 제조회사들도 자사의 플랫폼 전략을 다시금 돌아보게 될 것이다.

미래에는 Windows Mobile, 안드로이드, iPhone, Symbian등과 같은 몇 개의 휴대폰 플랫폼만으로 전체 시장이 재편될 가능성도 보인다. 한국의 휴대폰이나 디바이스 관련 S/W 개발자, 정책 입안자들도 반드시 눈여겨 보아야 할 거센 흐름이다.

따근 따근한 갓 빌드한 안드로이드 에뮬레이터 이미지 실행 모습

Ubuntu 리눅스 환경에서 현재 버전의 오픈소스 안드로이드를 빌드한 이미지를 에뮬레이터로 실행한 모습이다. (화면에서 까만 부분은 개인정보 누출 차단을 위해 masking한 부분이다)

빌드가 성공한 후 에뮬레이터를 실행하려면 아래와 같이 하면 된다. (home 폴더의 mydroid에 소스를 가지고 있다고 가정)
export ANDROID_PRODUCT_OUT=~/mydroid/out/target/product/generic~/mydroid/out$ 폴더에서 ./host/linux-x86/bin/emulator 실행이제 다음 단계로 에뮬레이터 이미지를 디버깅하기 위한 방법을 확인해보고자 한다.

99달러 아이폰의 등장 - 그 위력은?

"199달러의 애플 아이폰이 내년에는 99달러로 가격이 인하될 것이다."

IT 뉴스 사이트로 잘 알려진 '실리콘앨리인사이더(www.alleyinsider.com)'의 댄 프로머 운영자는 24일 "애플이 내년에 아이폰을 99달러에 판매할 수도 있다"고 주장했다.

이상 아시아경제 기사 에서.

현재 199달러의 아이폰 가격이 99달러로 100달러 싸지면 어떻게 될까?
가격이 반 정도 싸졌으니 100%정도 더 팔릴 것이다. (그렇다면 대충 계산해서 분기당 약 1600만대 정도 팔린다는 것? = 1년에 6000만대 이상 판매???)이 정도 가격으로 팔아도 이윤에는 전혀 손해를 보지 않을 것? 규모의 경재 + AppStore의 매출많은 수의 개발자들이 Apple 개발 환경으로 전환하기 시작할 것 - Mac OS X도 함께 동반 가치 상승을 가져올 수 있음얼리 어뎁터가 아닌 일반 소비자들도 점점 스마트폰 환경에 익숙해지기 시작하고 다시는 일반 폰 환경으로 돌아가기 어렵게 될 것이다. 즉, "휴대폰 = 개인 정보 기기"로서의 전환이 가속화 될 것임.
아마도, 아이폰을 한번이라도 사용해본 경험이 있는 사람들은 추후 휴대폰을 바꾸더라도 Windows Mobile이나 Android와 같은 스마트폰으로 전향할 가능성이 휠씬 높아질 것이다.그렇다면, 개발자로서는 어떤 준비를 해야할까? 예전 PC에서 S/W 개발 시장과 마찬가지로 특정 시스템에 특화된 솔루션이나 H/W에 근접한 시스템을 개발하는 것보다 응용프로그램을 개발하여 판매하는 사업이 한층 더 수익성이 좋아질 것이다.

특히 눈 여겨 볼만한 점은 일반 사용자들이 PC보다 좀더 개인적으로 밀착된 휴대폰에 돈을 투자하는데 주저함이 없다는 사실이다. PC에서 돈 주고 소프트웨어를 구입하는 것에는 거부감을 보이던 사용자들이 모바일 폰에서 게임이나 기타 S/W를 돈 주고 구입하는 사례가 휠씬 많다는 것에 주의해야 겠다.

6000만대의 아이폰이 판매되어 세상에 깔려있다고 상상해보자. …

리눅스에서 안드로이드 개발 환경 셋업해본 결과...

Mac OS X에서의 빌드 구축 테스트 후 Ubuntu 리눅스에서도 시도해보았다. Google이 제공한 문서대로 따라하면 큰 문제는 없으나 실제 빌드 도중 추가적으로 설치해야할 것이 있어 간단히 정리해보고자 한다.
libc-dev: 표준 라이브러리인데 이게 없어서 빌드 중 컴파일 에러가 발생했음g++: C++ 컴파일러도 설치가 안되어 있었다.zlibc: zip decompress 라이브러리도 설치가 안되어 있었다.libncurses5-dev: curses 라이브러리도 설치가 안되어 있었다.구글 문서에서 요구하는 것외에 위와 같은 추가적인 설치를 마치고 make를 수행하여 최종 빌드가 완료되는 것 까지 확인하였다.

Ubuntu를 잘 사용하는 유저들에게는 쉽겠지만 나 같은 초짜분들을 위해 한가지 Tip을 알려드리자면 빌드 중 어떤 library, header가 없어 에러가 발생하는 경우 아래와 같이 필요한 패키지를 검색할 수 있다. (아래 예는 curses 관련 라이브러리가 없는 경우 검색 방법이다.)
aptitude serach curses그러면, curses에 관련된 패키지 목록을 화면에 보여준다. 이 중 개발 라이브러리인 libncurses5-dev를 설치하고자 하면
sudo apt-get install libncurses5-dev위 명령어를 실행하면 된다. 마지막으로 Tip 한가지 더. 개발 환경 셋업을 시작하기 앞서 sudo apt-get update를 실행하는 것을 추천한다.

안드로이드 오픈 소스 프로젝트 개발 환경 셋업하기

이 글은 Google의 안드로이드 오픈 소스 프로젝트의 개발 환경을 Mac OS X Leopard에 설치하는 것을 보여준다. http://source.android.com/download의 내용을 따라하면서 작성한 것이라 이 페이지와 동일한 내용이 많이 있다.




0. 시작하기 앞서
안드로이드 소스 코드를 저장하는 파일 시스템은 반드시 대소문자 구분을 지원해야 한다. 즉, 현재 설치된 Mac OS X의 HFS+ 볼륨이 대소문자 지원을 하는지 확인해보고 진행하시길. 기본 설치를 하셨다면 지원이 안되는 상태이다.
대소문자 지원 하는 볼륨을 새로 만드려고 하면 시스템 부팅 볼륨에서는 불가하니 파티션을 나누어 볼륨을 생성해야 한다.
1. MacPorts 설치하기
Xcode 3.0이 설치되어 있어야 한다. Mac OS X Leopard DVD에서 설치할 수 있다.MacPorts DMG 파일을 다운로드 받아 설치한다.2. MacPorts 사용을 위한 환경 변수 설정
터미널을 열어서 "vim ~/.bash_profile"을 실행한다.열린 .bash_profile에 "export PATH=/opt/local/bin:${PATH}" 와 같이 입력하여 /opt/local/bin 경로가 가장 먼저 PATH에 등록되도록 한다.vim에서 파일을 저장 후 터미널에서 "echo $PATH"를 실행하여 /opt/local/bin이 가장 먼저 PATH에 나타나는지 확인한다.3. MacPorts에서 필요 부분 업데이트
터미널에서 "make -v"를 실행하여 GNU Make v3.81 이상의 버전이 설치되어 있는지 확인한다. 아니라면 아래 과정에 따라 설치한다.GNU Make 최신 버전 설치를 위해 "sudo port install gmake"를 실행한다. 어느정도 시간이 지나야 설치가 완료된다. 그런 후 "sudo ln -s gmake /opt/local/bin/make" 를 실행하여 gmake에 대…

Apple이 휴대폰 회사라고?

Apple하면 떠오르는 것은?

1. Apple 8bit computer
2. iMac, MacBook ...
3. iPod Touch, iPod Nano
4. iPhone
5. 사각 사각 맛있는 사과

1번을 선택하신 분들은 아마도 저와 비슷한 연령대(?)의 중장년층이라 생각되고 2번은 대학생 여러분들. 3번 4번까지 내려가면 컴퓨터와는 상관 없지만 음악을 사랑하는 젊은이일 것 같다. 5번은 노 커멘트 ^^

그렇다. 80년대 부터 이루어진 Apple Computer라는 회사의 identity가 급기야 회사명에서 Computer라는 단어를 띄어내기 시작하더니 급기야 올해 이번 분기에 iPhone이 50% 이상의 매출을 차지하는 명실상부 휴대폰 제조업체가 되어버린 것이다. @_@

애플발 세계 휴대폰 시장 개편. 현실로? - ZDNet Korea 기사 참고
AT&T 3분기 순이익 증가, '아이폰' 판매 호조 - ZDNet Korea 기사 참고

기존 노키아, 삼성, 소니에릭스, 모토롤라, LG등 가전/전자업체들이 장악하고 있던 휴대폰, 디지털 가전 시장을 애플, Google, MS등 컴퓨터 소프트웨어 강자들의 참여로 대대적인 변화의 물결이 시작되고 있다는 느낌을 떨칠 수 없다.

소비자의 한 사람으로서는 이러한 S/W 강자들의 참여로 참신한 개념들의 제품이 시장에 출시되어 즐겁기 그지 없으나 한국인의 한 사람으로서는 한국 회사들의 강세가 한풀 꺽이지 않을까 걱정스럽기도 하다.

속살을 공개한 안드로이드!

안드로이드가 벗었다?

Android Developers Blog: Android is now Open Source

그동안 속살(?)을 공개하지 않아 여러 개발자들의 애간장을 태우던 안드로이드가 드디어 그 속살을 낱낱이 공개하고야 말았다.
오픈소스로 공개된 안드로이드는 커널 부터 시작하여 Dalvik VM, 프레임워크, 어플리케이션 등 아마도 안드로이드의 전체 모습을 공개한 것으로 보인다. (GitWeb을 참조하시길)

빨리 소스를 받아서 빌드해보고 싶은 마음이 굴뚝같을 것이라 예상되나 잠깐만... 혹, 이 글을 읽고 있는 당신. 윈도우즈 PC 밖에 가지고 있지 않다면 일단 Linux 먼저 설치하고 소스를 받으시길. 현재 안드로이드 개발 환경으로는 Mac OS X과 (오예!) Linux만 사용가능하다고 한다.

휴대폰을 개발할 수 있는 플랫폼 부터 어플리케이션 런타임 환경 그리고 어플리케이션까지 종합 선물 세트로 소스가 공개되었으니 앞으로 날밤 지새는 개발자들이 많아지리라 예상되며 모바일 기기 관련 개발 생태계에서 리눅스를 주류로 끌어올리는 견인차가 되지 않을까 예상해본다.

배꼽잡는 Mac 광고 시리즈 - 기초 영어 듣기 테스트

들어보라. 웃긴다면 기초 영어 듣기 시험 통과이고 아니라면 공부 쪼금 더 하시길 ^^
Mac 광고 시리즈를 쭉 모아보았다. 모바일과 관련없다고 생각하시면 오산. 가장 마지막까지 보시면 이유를 아실 듯.

V Word


Bean Counter


Networking


Restarting


Cancel or Allow?


헉헉... 좀 많은가... 힘내시길...

Accident


Pick a Vista


Genius 9000


Sales Pitch


Yoga


Pep Rally


Group


Referee


PR Lady


Breakthrough


Flashback


이 블로그에 올라올 수 있는 정당성을 제공하는 마지막 영상물 짜잔!

iPhone Odysey

LWUIT 개발에 대한 소개 글 (영문)

얼마전 소개한 Sun의 Java ME용 오픈소스 UI 개발 툴 킷인 LWUIT을 이용하여 간단한 예제 프로그램을 작성해보는 소개 글이 나와 공유하고자 한다. 글이 영문이지만 따라하기 성격의 글이라 찬찬히 읽어나가면서 코드를 따라서 작성해보면 쉽게 익힐 수 있을 것 같다.

http://java.sun.com/developer/technicalArticles/javame/lwuit_intro/

Sun의 Java ME SDK 3.0 EA 버전 공개

Java Platform Micro Edition Software Development Kit 3.0
Java ME Platform SDK is a state-of-the-art toolbox for developing mobile applications. It integrates CLDC, CDC and Blu-ray Disc Java (BD-J) technology into one SDK. Java ME SDK 3.0 is the successor to the popular Java Wireless Toolkit 2.5.2 and Java Toolkit 1.0 for CDC. It provides device emulation, a standalone development environment and a set of utilities for rapid development of Java ME applications. (이상 java.sun.com 사이트에서...) Java ME 개발을 위해서 사용되었던 WTK (Wireless Toolkit)이라는 명칭을 버리고 새롭게 태어난 Java ME SDK 3.0. 과연, 어떤 점이 달라졌길래 환골탈퇴를 하고 새로운 제품으로 태어났을까? Sun 사이트에서 퍼올린 제품의 새로운 기능/특징을 살펴보도록 하자. Windows Mobile 디바이스와 연동이 된단다! 즉, 기존의 에뮬레이터 only 모드에서 벗어나 내가 가진 Windows Mobile 장치에서 Java ME 소프트웨어 개발을 테스트 해 볼 수 있다는 것이다.디바이스에 직접 배포해서 디버깅 하기. Java ME SDK 3.0과 호환되는 장치를 이용하면 직접 개발하는 소프트웨어를 장치에 다운로드하여 디버깅이 가능하다고 한다.CLDC뿐 아니라 CDC, BD-J등 다양한 플랫폼을 개발할 수 있다고 한다.기존의 kVM기반 JVM을 벗어나 phoneMe가 사용하고 있는 CLDC-HI기반 JVM으로 개발되었다고 한다. 실제 디바이스에서 사용하는 VM과 더욱 유사하게 되었다고 …

iPhone 강의를 해볼 수 있을까?

[지디넷코리아]애플이 아이폰 애플리케이션 개발자들 사이에서 논란이 됐던 비밀유지계약(non-disclosure agreement: NDA) 조항을 없애기로 했다.

애플은 1일(현지시간) 웹사이트를 통해 "아이폰 OS가 많은 기술과 혁신을 포함하고 있어 NDA를 적용해왔다"면서 "그러나 개발자들에게 너무 많은 부담이 되는 만큼 이를 폐지한다"고 밝혔다.

http://www.zdnet.co.kr/news/digital/0,39030978,39173698,00.htm

이하 생략...

iPhone에 대해서 개발을 하거나 공부를 해도 NDA 조항 때문에 다른 사람들에게 강의를 하거나 하는 것이 불가능하였는데 이제 그 길이 열렸다.

열심히 공부해서 강의를 해보는 것도 즐거운 경험이 될 듯. :)

안드로이드가 대세?

[지디넷코리아]미국 휴대폰 업체 모토로라가 구글 모바일SW 플랫폼 안드로이드를 담당할 인력을 대폭 증원하고 나섰다는 외신 보도가 나왔다.

모토로라는 현재 약 50명인 안드로이드 담당 인력을 350명까지늘리기 위해 대대적인 인재 사냥에 들어갔다고 씨넷이 블로그 기반 온라인 미디어 테크크런치를 인용해 28일(현지시간) 보도했다.

이하 중략...

그동안 자바 + 리눅스 (LiMO)를 자체적인 플랫폼 솔루션으로 사용하던 모토롤라가 안드로이드 개발자 구인에 적극적으로 나서고 있다는 뉴스이다.

그동안 입지가 좁아지고 있던 모토롤라가 기존 방식을 벗어나 새로운 플랫폼으로 활로를 모색하는 것으로 생각되는데 개인적인 의견으로는 LiMO라는 비교적 비용이 많이 소모되는 플랫폼을 자체적으로 개발하는 것 보다는 안드로이드를 대안으로 선택하는 것도 나쁘지 않다고 생각된다.

음... 과연 안드로이드가 되세가 되려는가. 여하튼 관심 가지고 지켜볼 일이다.

Android Developers Blog: Announcing the Android 1.0 SDK, release 1

Android Developers Blog: Announcing the Android 1.0 SDK, release 1

드디어 안드로이드 정식 버전 SDK가 릴리즈되었다.
안드로이드 폰도 출시가 되었으니 바야흐로 스마트폰의 본격적인 시대가 열리고 있다.

심비안, iPhone, Windows Mobile, Android, LiMO 정도의 5가지 플랫폼이 본격적인 개발 환경으로 사용되어질 것으로 보이며 이 중 특히, 심비안, iPhone, Android의 약진이 기대된다.

단, Android의 경우는 아직 시장에서 검증이 끝나지 않았으므로 사용자들의 반응을 주의깊게 살펴보아야 할 것 같다.

단, 위 3개의 플랫폼에 모두 익숙해지기 위해서는 C++, Objective C, Java등 서로 다른 개발 언어와 서로 다른 플랫폼을 익혀야 하니 좀 골치 아픈 문제라 할 수 있겠다.

갈수록 늘어가는 iPhone용 소프트웨어들

기업용 소프트웨어 업체들이 애플 신형 휴대폰 3G 아이폰을 주목하고 있다. 3G 아이폰용 애플리케이션을 내려받을 수 있는 온라인장터인 앱스토어에 올라오는 기업용 SW업체 이름도 늘어나기 시작했다.

이에 따라 아이폰이 리서치인모션(RIM) '블랙베리'가 호령하는 기업 시장을 어느정도 파고들 수 있을지 주목된다.

이상 ZDNET Korea 기사 중에서...

예상대로 iPhone용 소프트웨어가 갈수록 늘어가고 있다. 특히, 위 기사처럼 기업용 소프트웨어가 날로 증가하는 추세라고 한다.

iTunes의 AppStore 화면

이미 iTunes Store를 보면 각종 게임, 유틸리티 프로그램 등등 무료, 상용 프로그램들이 즐비하다. 지금까지 새로운 개발 플랫폼이 나오자마자 실제 개발되어 사용 가능한 응용프로그램이 얼마나 있는지 실시간으로 확인할 수 있는 개발 플랫폼이 있었나 하는 생각이든다.

오래전 Windows 개발 환경이 처음 나왔던때보다 더 화려하고 쓸모있는 프로그램들이 빠른 시간안에 시장에 진입하여 사용자들의 손에 바로 바로 사용되어 지고 있는 것으로 보인다.

기업 소프트웨어 시장, 게임 개발, 각종 유틸리티 프로그램, 개인 개발자들도 손쉽게 프로그램을 판매할 수 있는 구조 등등 요모 조모 살펴보아도 iPhone은 분명 개발자들에게 군침도는 개발 환경이다.

썬의 오픈소스 LWUIT 개발툴

썬마이크로시스템즈가 휴대폰용 유저인터페이스(UI) 개발을 위한 툴킷을 오픈소스화하며 모바일 플랫폼의 오픈소스화 행렬에 참여했다.

◇사진설명: 썬의 휴대폰용 UI 개발툴 'LWUIT'.썬 은 지난14일(현지시간) ‘Lightweight UI Toolkit(LWUIT)’의 원시 코드를 ‘GPLv2+클래스패스(Classpath) 특례’ 라이선스로 공개했다. 이 툴킷은 ‘기성(ready-made) 그래피컬 컴포넌트’ 풀세트를 포함해 각종 폰트, 테마, 애니메이션 및 화면 변환 효과를 지원한다.

썬의 임베디드자바소프트웨어 담당 크레이그 게링 수석디렉터는 성명서에서 “썬은 ‘LWUIT’을 통해 모바일 개발 커뮤니티에 대한 관여를 재차 확인하고, ‘LWUIT’ 코드를 오픈소스함으로써 모바일 개발자가 스스로의 애플리케이션 전용으로 인터페이스를 신속하고 용이하게 작성할 수 있도록 하고 있다”며 “이러한 기능은 예전부터 개발자들이 요구해온 것”이라고 설명했다.

이상 ZDNET Korea 기사 중에서...


Sun이 오픈소스로 공개한 LWUIT은 Java ME MIDP 기반 환경에서 Swing과 유사한 Java Class 라이브러리를 사용하여 위 그림과 같이 MIDP LCDUI에 비해 좀 더 사용자에게 어필하는 UI를 개발하기 위한 도구이다.

LWUIT community page를 참고하면 아래와 같은 여러 기능을 제공한다.
Swing Like MVC (Model View Controller)LayoutsPLAF (Pluggable Look And Feel) & ThemesFontsTouch ScreenAnimations & TransitionsRich widgets3D IntegrationPaintersModal DialogsExternal ToolsI18N/L10NLWUIT을 이용하여 MIDP MIDlet 개발에 관심이 있다면 먼저 Tutorial 문서를 참고해보시길 바라며 소스 코드와 JAR 파일등은 위 커뮤니티 페이지를 통해 다운로드 받을 수 있다.

유투브…

phoneMe feature MR3 릴리즈

The following features are part of the phoneME Feature MR3 release: New support for Advanced Multimedia Supplements (JSR 234)New support for Mobile Sensor API (JSR 256)New support for XML API for Java ME (JSR 280)Addressed MR2 audio encumbrance with addition of a sound engine binary plug-inOngoing support for the following Java Specification Requests (JSRs):Personal Information and File Management (JSR 75) Bluetooth and OBEX (JSR 82) Mobile Information Device Profile (JSR 118)Wireless Messaging API (JSR 120)Mobile Media API (JSR 135)J2ME Web Services support (JSR 172) Security and Trust Services API support (JSR 177)Location API for J2ME (JSR 179)SIP API for J2ME (JSR 180)Wireless Messaging API 2.0 (JSR 205) Content Handler API (JSR 211)Scalable 2D Vector Graphics (JSR 226) Payment API (JSR 229)Mobile Internationalization API (JSR 238)Java Binding for the OpenGL(R) ES API (JSR 239)Support for JavaCall™ porting interfaces on Win32 platformEnhancements for the Application Management Sy…

iPhone 10~11월 경 국내 출시? 그리고, IMEI 문제

노키아에 이어 애플의 '3세대 아이폰'이 KTF를 통해 상륙을 준비하고 있다. 애플과 KTF는 국내 20~30개에 이르는 협력사를 선정하고 요금에 대한 시뮬레이션까지 마친 상태다. 애플과 KTF는 오는 10~11월에 출시한다는 계획을 부인하지 않고 있다. 그러나 애플이 국내 진입장벽인 위피 탑재와 국제모바일기기 식별코드(IMEI:3세대 휴대전화에 표시해야 하는 식별코드)를 표시해야 하는 문제(한국은 개인정보 문제로 전화기 내부에 표시해야 함. 아이폰은 외부에 표시돼 있음)를 양보하지 않아 출시 시기를 확정하지 못하고 있다.

이상 매일경제 기사 중에서...

곧 iPhone이 국내에 출시되기는 할 모양이다. 그러나, 2가지 걸림돌이 아직 있다고 하니 WIPI 탑재 문제와 IMEI 표시 문제라고 한다. WIPI야 이미 오래된 문제이니 새로울 것이 없고 IMEI가 뭔지 그리고, 왜 문제가 되는지 궁굼해진다.

International Mobile Equipment Identity (이하 IMEI)는 모든 GSM, UMTS 휴대폰 기기를 식별하기 위해 사용하는 15자리의 숫자로 주로 도난/분실된 장치를 사용 중지 시키거나 하는 용도로 사용된다. CDMA의 ESN 과는 달리 휴대폰 기기를 식별하기 위해서만 사용되며 사용자의 식별은 별도로 SIM 카드를 이용하여 이루어진다.

보통, GSM, UMTS 휴대폰에서는 이 IMEI 값을 사용자 메뉴를 통해서 확인가능 하거나 혹은 AT+CGSN 커멘드로 확인이 가능하다. 혹은 기기의 배터리 아래에서 직접 볼 수 있는 경우도 흔하다. iPhone의 경우도 기기에서 직접 값을 확인할 수 있고 또한, iTunes로 동기화하면 이 값을 확인할 수 있다. --> 이 부분이 한국 법에 저촉되는 것이라고 한다. 개인 정보의 보안 문제라고 하나 다른 나라에서는 문제 없는 것이 왜 한국에서만 문제가 되는지 이상하다.

구글 안드로이드 폰 출시 임박 설

http://code.google.com/android/index.html

애플 3G 아이폰에 이어 구글 안드로이드를 탑재한 '구글폰'의 출시가 임박한 것으로 알려지면서 스마트폰 시장이 후끈 달아오르고 있다.

14일(현지 시각) 뉴욕타임스는 미국 T-모바일이 구글의 개방형 모바일 플랫폼 '안드로이드'를 탑재한 스마트폰을 크리스마스 이전 출시할 것이라고 보도했다. HTC가 제작하는 이 폰은 이르면 10월 출시도 가능할 전망이다.

HTC의 구글폰은 '드림(Dream)'이라는 이름으로, 3G 아이폰처럼 터치스크린을 탑재하면서 키보드까지 갖춰 데이터 입력이 간편하다는 특징을 갖고 있다.

이상 아시아경제 기사 중에서...

드디어 구글의 안드로이드 폰이 출시될 모양이다. 제조사는 예상한대로 대만의 HTC이고 T-모바일 네트워크를 사용한다고 한다.

이로서 바야흐로 스마트폰 3파전 - 노키아, 애플, 구글 - 이 본격적으로 시작될 것이다. 물론, 기존의 Windows Mobile까지 4파전이라고 해야 정확한 표현일 것이다.

iPhone과 비교할 때 구글 안드로이드의 강점이 있다고 생각한다. 그 중 가장 중요한 것은 "개발 환경의 용이함"이다. 애플의 iPhone SDK가 Objective C라는 상대적으로 생소한 개발 언어를 사용하는 대신 구글 안드로이드는 대중적으로 인기있는 Java 언어를 사용한다. 또한, 개발 platform 역시 Java 기반의 표준 라이브러리를 이용할 수 있다.

하지만, 안드로이드에 있어 가장 우려되는 점은 구글폰은 여러 제조사에서 개발되는 만큼 각 기기간의 플랫폼 호환성이 과연 얼만큼 문제가 없을 지 하는 것이다. (이에 반해 애플은 단일 제조사에서 개발하는 장점이 있다.)

구글이 각 제조사가 개발한 구글폰의 플랫폼 호환성을 유지하기 위한 노력을 기울이지 않는한 분명 여러 제품간에 제공되는 기능, 질등이 분명히 차이가 발생할 것이고 이것이 안드로이드가 널리 사용되는데 장애물이 되지 않을까하는 개인적인 …

WIPI 이후의 대안?

위피는 어디로?’

한국형 이동통신 무선인터넷 플랫폼 ‘위피(WIPI)’ 의무화 정책의 존폐를 두고 이동통신 3사의 시각이 엇갈리고 있다. SK텔레콤과 KTF는 시장 자율에 맡겨야 한다는 쪽에 무게를 두고 있는 반면 LG텔레콤은 선발 사업자에게 콘텐츠가 집중될 것을 우려해 반대 입장을 내비치고 있다. 이에 대해 방송통신위원회는 글로벌 추세 등을 고려해 전면 재검토하겠다는 입장을 밝히고 있다.

이상 전자뉴스 기사에서 ...

요즘 불거지고 있는 위피 무용론. 드디어 통신사들이 시장 자율이라는 칼을 들이대고 있다. 이대로라면 위피가 한국 시장에서 의무화 족쇄는 곧 풀릴 것으로 보인다.

위피라는 표준 플랫폼에 의해 그동안 좀 덜 어렵게 컨텐츠를 개발하던 소프트웨어 업체에게는 이러한 현실은 큰 위기라 할 수 있다. 반드시 이를 대치할 수 있는 표준 플랫폼이 있어야 할 터이다.

개인적인 의견으로는 Java ME가 한국 시장에 필요한 대안 기술이라고 생각한다. Java ME는 위피에서도 지원되던 MIDP 1.0과 호환이되어 기존 개발자들이 쉽게 적응할 수 있는 장점이 있으며 이미 전 세계적으로 Defacto 표준으로 이동 통신 시장 및 Bluelay, Setopbox등에 사용되고 있다.

현재 JCP에서 정의한 MSA Spec을 이용하면 기본적인 MIDP 기술 외에 PIM, File Connection, Location, SVG, 3D, Bluetooth, SIP, Advanced Multimedia, Security등등의 여러 기술을 활용하는 응용프로그램 개발이 가능하며 이렇게 개발된 응용프로그램들은 한국뿐 아니라 전 세계에 판매할 수 있는 거대 시장을 얻을 수 있다.

또한, 단말 업체의 입장에서는 Sun이 오픈소스로 공개한 phoneMe 소프트웨어를 이용하여 개발자들이 손쉽게 Java ME를 자신의 디바이스에 포팅/디버깅을 진행할 수 있는 이점도 있다. 원하다면 Sun에서 Java ME에 대한 개발 지원을 받을 수도 있다.

이제 한국만의 기술이라는 디지털 쇄국을 벗어나 국제 무대에서…

Java FX Preview 버전 릴리즈

'어도비 vs 마이크로소프트' 양자 구도가 '어도비 vs MS vs 썬' 삼자구도의 경쟁체제로 바뀔 수 있을까?

썬마이크로시스템즈가 31일(현지시간) '자바FX' 프리뷰 버전을 선보이고 어도비가 주도하고 MS가 추격하는 리치 인터넷 애플리케이션(RIA) 시장 대권레이스에 뛰어들었다.

이상 ZDNET Korea 기사 중...

드디어 Sun의 야심작인 Java FX의 첫번째 공개판 버전이 출시되었다. 이번 프리뷰 버전은 NetBeans IDE와 통합된 Java FX SDK를 제공한다.

Java FX는 그동안 Java가 Backend 분야에서 계속 선전해오는 것과 달리 인터넷이라든가 클라이언트 영역에서는 빛을 발하지 못하는 문제점을 해결하기 위해 발표한 Sun의 최신 기술이다.
기존 Java 런타임 환경에 기반하여 동작하므로 실행 기반 환경이 이미 널리 퍼져있다는 장점이 있으며 그 이름 자체로 기존 Java 개발자들을 수용할 수 있다는 장점이 있다. (물론, 언어 문법등은 Java와 다르지만...)

Java 언어와의 seamless한 연동 기능을 제공하고 또한, 한번 작성한 Java FX 프로그램이 데스크탑, 모바일폰, TV 등등 모든 기기의 화면에 변경 없이 동작할 수 있다면 (이것이 Sun이 목적으로 삼고 있는 Java FX의 실체이다. 잘 아시는 바와 같이 Java는 현재 블루레이 DVD, 셋탑박스, 휴대폰 등 수많은 기기에 이미 탑재되어 있다.) 현존하는 RIA 기술의 대안으로서 충분히 가치를 발휘할 수 있을 것으로 보인다.

Java FX --> Presentation Layer
------------------------
Java ME, Java SE --> Application Layer
------------------------
Java EE --> Backend Service Layer

위와 같은 그림으로 요약될 수 있는 Java Eco System의 최선봉장인 Java FX의 선전을 기대해본다.

Java…

Nokia S60 Platform에 대한 Mind Map

아래 그림은 S60 Platform에 대한 Mind Map 이미지이다. Nokia에서 제공한 S60 Platform: Basics라는 문서를 참조하여 Free Mind 프로그램으로 작성하였다. S60에 관심있으신 분들은 참고하시길 바란다.

큰 그림으로 보려면 그림을 클릭!

위치 정보를 이용한 소프트웨어 개발

위치 정보란 현재 사용자의 물리적 위치를 나타내는 값을 의미하며 이를 이용하면 다양한 응용분야의 소프트웨어 개발이 가능하다.

근래, 특히 이 위치 정보에 기반한 솔루션들이 많이 개발되고 있으며 주요 모바일 소프트웨어 플랫폼에서도 위치 정보 제공을 주요 기능의 일부로 포함하고 있다.

이 글에서는 주요한 모바일 소프트웨어 플랫폼들이 제공하는 위치 정보 제공 API에 대해 간략히 살펴보고 장단점에 대해 비교해보도록 하겠다.


1. Java ME의 경우Java ME는 JSR-179 스팩을 정의하여 위치 정보에 대한 API를 제공한다. JSR-179 스팩은 위치 정보 및 디바이스의 기울기, 속도 등의 부가적인 정보도 얻을 수 있도록 되어 있으며 위치 정보에 대한 각종 정보 (예를 들면, 주소라든가) 또한 제공하는 API로 구성되어 있다.
JSR-179의 가장 큰 특징으로는 위치 정보를 얻기 위한 디바이스가 GPS로 한정되지 않는 다는 것이다. 얻고자 하는 위치 정보의 정확도, 비용 등의 고려 사항에 근거하여 현재 장치가 선택할 수 있는 여러 위치 정보 제공 방법 중 선택하여 동작할 수 있는 구조를 갖추고 있다. Java ME 자체가 워낙 다양한 하드웨어를 지원하는 것을 목적으로 하고 있기 때문에 당연한 구조로 보인다.

2. iPhone의 경우iPhone의 경우는 H/W가 단일 플랫폼이기 때문에 Java ME와 같이 여러 위치 정보 제공 방법을 결정하거나하는 구조가 필요없다. 상당히 단순화된 API를 제공하는데 위치 정보 수신을 시작하기 위한 메쏘드. 이를 중단하는 메쏘드가 거의 대부분의 기능이라고 볼 수 있다.프로그램은 CLLocationManager 클래스의 startUpdatingLocation 메쏘드를 호출하여 위치 정보 수신을 시작할 수 있다.
물론, iPhone의 경우 위치 정보 뿐만 아니라 장치의 기울기, 방향 등의 정보를 UIAccelerometer 클래스를 이용하여 얻을 수 있다.
3. Android의 경우Android SDK는 android.location 패키지를…

WIPI가 한국에 남긴것?

출처: http://www.kwisforum.org/

관련 기사 참조: 위피 정책 논란..., 3G 아이폰 발목 잡은 WIPI

위 뉴스들을 보면서 느낀바가 있어 한마디 쓴소리를 할까한다.
국내 모바일 소프트웨어 플랫폼에 WIPI라는 표준이 등장한지 어언 10년 그동안 CP 업체들은 표준화된 환경에서 개발할 수 있다는 장점에 힘입어 국내 모바일 소프트웨어 업계는 꽤 성공적인 발전을 했다고 보인다.

하지만...

모든 밝은 면에는 어두운 부분이 함께 존재하는 법. 특히나 WIPI의 경우에는 사실 이 어두운 면이 아직 부각되지 않은채 엄청난 파괴력을 지니고 숨어있다고 보인다. 과연 한국의 WIPI 기술이 현재 세계적인 모바일 소프트웨어 개발 환경에 발 맞추어 갈 수 있는 기술인가? 국내 CP 업체들이 세계에서도 성공할 수 있는 발판으로 WIPI를 사용할 수 있는가?

당연히 답은 NO다. WIPI는 국내에서만 통하는 국내용 구원투수일뿐 아니라 기술 자체적인 측면에서도 더 발전하기에는 한계가 있는 절름발이 신세의 기술로 생각된다. (물론 개인적인 의견이다.) 앞으로 전개될 iPhone OS, Symbian OS, Android OS등등 스마트폰 환경에 알맞은 특화된 솔루션을 개발하기 위해서는 이제 WIPI라는 낡은 틀을 과감히 버려야 한다. 또한, 일반 기능 휴대폰에서도 Java ME와 같은 전 세계적으로 널리 통용되는 기술을 받아들이고 Java ME의 표준화 기관인 JCP등에 적극 참여하여 한국의 기술이 세계의 기술이 될 수 있도록 노력하는 것이 더 올바른 방향이라고 보인다.

관련 기사 참조: SKT 텔레메틱스 국제 자바 표준으로

WIPI 제한에 걸려 iPhone이나 RIM의 휴대폰 국내 수입이 지연되고 있고 이에 대해 WIPI를 면제해준다는 등의 뉴스를 보면 정말 10년 앞을 내다보는 정책의 결정이 얼마나 중요한지 세삼 느낄 수 있다. 이제라도 과거의 과오를 떨치고 새로운 시대에 준비를 해야하지 않을까? 헌데 그 과오를 저질렀고 그에 대해 책임을 저야할 정부 부처도 사라진 마당이…

3파전? 4파전?

6월 24일 노키아는 심비안의 주식을 재 매수하여 합병하기로 결정하였다고 한다. 노키아의 이번 조치는 Apple의 iPhone OS, Google의 Android, Microsoft의 Windows Mobile등과 같은 스마트폰 시장의 주요 소프트웨어 플랫폼으로서의 경쟁 기술에서 선도적 입지를 더욱 굳히기 위함으로 보인다.

또한, 이에 더불어 NTT Docomo, Sony Erricson, Motorola, Nokia등이 보유하고 있는 각 사의 Symbian OS 관련 기술들인 UIQ, S60, MOAP등을 통합하여 오픈소스 기반의 통합된 모바일 소프트웨어 플랫폼을 제공한다고 한다.

이를 위해 Symbian Foundation을 AT&T, LG 전자, 삼성 전자, ST 마이크로, Texas Instruments사, Vodafone등과 공동 설립하기로 하였으며 추후 개발되는 운영체제 기술은 회원사들에게 모두 무료로 제공된다고 한다.

이로서 현재 불붙은 모바일 소프트웨어 개발 환경 경쟁은 본격적인 4파전 양상으로 변하고 있다. 일단, 작년부터 현재까지 Apple의 iPhone이 새로운 강자로 떠오르며 최대의 승자라고 한다면 이 후 등장할 Android 역시 어떤 파장을 일으킬지 기대대는 바이다.

확실히 휴대폰등의 모바일 기기 시장은 급속히 스마트폰 기반으로 전향하고 있는 것으로 보이며 점점 운영체제 및 개발 SDK등 기존 PC 시장에서의 소프트웨어 개발과 유사한 방향으로 발전되어 가고 있는 것으로 보인다.

기존 모바일 소프트웨어 개발자들은 급속히 변화하는 환경에 적응하도록 해야하겠고 또한, 새로운 개발자들도 이 기회를 잘 포착하여 신규로 열리게 될 시장에 뛰어들 준비를 하는 것이 좋겠다.

개인적으로는 Apple의 iPhone OS와 Nokia의 Symbian OS에 한표를 던진다. 물론, Windows Mobile도 이미 형성된 시장 및 미래에도 성장세를 이어갈 것으로 보이기는 하나 너무 PC 환경과 유사한 모습이라 오히려 모바일 환경에서는 적합하지 않은 느낌이다…

휴대폰 소프트웨어 개발방법론?

휴대폰 소프트웨어 관련 개발자로 어언 5년 정도의 시간을 보냈었는데 Sun에서 Java ME 소프트웨어를 개발하면서 느낀바가 있어 다시 휴대폰 개발 분야로 이직한다면 이런 걸 해볼텐데 라고 생각하는 내용을 정리해 보았다.

1) 싸고 편리한 소스 관리
요즘 한국의 휴대폰 관련 회사들을 보면 엄청 비싼 모회사의 툴을 사용하는 데 직접 겪어보지 않아 단정지을 수 없지만 과연 그 비용을 들인만큼 큰 효율이 있을가 하는 생각이 든다.
그냥 요즘 오픈소스 S/W개발에 많이 사용하는 SVN 같은 툴을 쓰면 소스 관리를 매우 잘 할 수 있을 텐데. 스크립트 작성에 능통한 개발자가 있다면 코드 변경 통지나 DIFF를 메일로 보내기 등등 여러 가지 기능을 추가할 수 있다.

2) 빌드 시스템
변경된 코드에 대해 자동으로 빌드를 수행하고 결과를 통지. 내가 예전에 휴대폰 바닦에 있을 때는 결코 이런걸 본 적이 없다. 일일 빌드, 코드 변경 시 빌드 등...

3) 버그 관리
나름 Web 기반의 버그 관리 시스템이 있기는 했지만 QA 엔지니어용이였다. S/W 개발자 용도로 별도의 버그/이슈 관리 시스템이 있으면 좋겠다. 버그질라 강력 추천.

4) Task 목록
해야할 일을 중요도, 일정, 담당자등의 정보와 함께 목록으로 관리. 아마도 Excel이나 WIKI등을 활용하면 좋을 듯. Sprint 회의를 통해 Backlog를 관리하는 것도 좋은 아이디어.

5) 한번에 다운로드까지 가능하게
휴대폰 회사에서 사용하는 모든 툴들은 대부분 GUI 기반이어서 사용자가 꼭 개입을 해야하는 데 명령행 기반의 프로그램으로 개발해서 make 한번만 하면 빌드/다운로드가 한번에 끝날 수 있도록 하면 얼마나 편할까?

6) 자동 테스트
스크립트 언어를 사용해서 사용자의 동작을 시뮬레이션 할 수 있도록 하여 테스트를 자동화하자! 반복적인 동작에 의해 발생하는 문제에 대해 쉽게 접근 가능하다.

7) 코드 변경 프로세스 정립
코드 변경 시 막무가내로 trunk에 변경을 가하지 못하도록 하고 버그 관리 시스템 및 소스 관리 시스템 등을 이용하…

Gnome Mobile Platform에 대한 소개

리눅스 플랫폼이 점점 모바일 환경의 주축으로 떠오르고 있는 요즘 오픈소스 플랫폼인 Gnome Mobile Platform을 여러분들께 간단히 소개해보고자 한다.

http://www.gnome.org/mobile/

Gnome Mobile Platform은 많은 개발자들에게 익숙한 Gnome 플랫폼의 모바일 버전으로 위 그림과 같이 여러 구성 요소들로 이루어져 있다.

블루투스 지원을 위한 BlueZ. 멀티미디어 지원을 위한 GStreamer등을 포함하여 사용자 인터페이를 위한 GTK+등 이미 널리 알려진 오픈소스 기술등을 이용하여 개방된 모바일 플랫폼을 제공한다.

Gnome Mobile Platform은 이미 노키아 디바이스, OpenMoko, Maemo등과 같은 플랫폼에서 활용되고 있으며 LiMO 플랫폼에서도 GTK+를 사용하는등 대부분의 리눅스 기반 모바일 플랫폼과 유사한 기술을 공유하고 있다.

가까운 미래에 Google의 Android등에 의해 주요 모바일 플랫폼으로 자리 잡을 것으로 예상되고 있는 리눅스. 이 중 Gnome Mobile Platform을 사용할 실제 제품이 얼마일지는 알 수 없으나 분명 Gnome이 제안한 각 기술들이 대부분의 리눅스 기반 디바이스에서 요모조모 사용될 것이란 것은 분명하게 예상할 수 있다.

MSA2 EDR 스팩

MSA2 Early Draft Review 스팩이 출시되었다.아직 초기 스팩인지라 최종 버전이 완료되기까지 기다려 보아야 하겠지만 기존 MSA 스팩과 비교하여 가장 큰 차이점은 MSA subset, fullset 보다 좀 더 세분화하여 MSA limited, subset, fullset의 3가지 형태의 디바이스를 정의하였다.
새로 추가된 MSA limited가 포함하고 있는 JSR들은 당연히 새로운 그룹을 정의하겠지만 또한, 기존의 subset, fullset 역시 기존 JSR은 물론 새로운 혹은 변경된 버전의 JSR들을 포함하고 있다.
저사양 휴대폰을 위한 MSA limited는 기존 JTWI 스팩 대비하여 다음과 같은 JSR들이 변경/추가되었다. - MIDP2.1, JSR205 WMA2, JSR75 FC and PIM, JSR82 BT, JSR238 Mobile I18N, JSR258 Sensor.
중간사양의 휴대폰을 위한 MSA2 subset은 기존 MSA1 subset 스팩 대비하여 다음과 같은 JSR들이 변경/추가되었다. - MIDP3.0, JSR238 Mobile I18N, JSR177 SATSA, JSR211 CHAPI, JSR293 Location 2.0, JSR234 AMMS, JSR258 Sensor, JSR272 Mobile Broadcast, JSR257 Contactless Communication, JSR258 UI Customization, JSR280 XML.
고사양의 휴대폰을 위한 MSA2 fullset은 기존 MSA1 fullset 스팩 대비하여 다음과 같은 JSR들이 변경/추가되었다. - MIDP3.0, JSR258 Sensor, JSR272 Mobile Broadcast, JSR257 Contactless Communication, JSR258 UI Customization, JSR280 XML, JSR281 IMS Services.
위에 열거한 몇몇 JSR들은 디바이스 구현 상태에 따라 선택적으로 구현되어질 수 있다. 자세한 사항…

안드로이드 Activity와 MIDP 2.0 비교

이 글에서는 안드로이드 어플리케이션의 Activity와 MIDP 2.0의 어플리케이션의 라이프사이클을 비교해보도록 하겠다.

우선, MIDP 2.0의 MIDlet의 라이프사이클 관리에 대해 살펴보자.
MIDlet 프로그램을 작성 시 다음과 같은 3가지 method를 반드시 구현해야 한다.
startApppauseAppdestroyAppstartApp는 MIDlet이 최초 실행되거나 혹은 pause 상태에서 다시 resume될 때 호출되며 개발자는 이 때 필요한 코드를 적절히 수행하도록 구현하면 된다. pauseApp는 프로그램 외적인 요인 혹은 스스로 중단을 요청한 경우에 호출이되며 paused 상태가 되는 경우에 대한 코드를 구현해주면 된다. 마지막으로 destroyApp는 MIDlet이 죵료되기 전에 호출되며 종료 시 수행되어야 할 동작, 예를 들면 현재 상태의 저장등과 같은 코드를 구현하면 된다.

이와 같은 MIDlet의 라이프사이클 관리를 state transition diagram으로 보면 아래와 같다.

안드로이드의 Activity 역시 MIDlet과 유사하게 라이프사이클 관리를 위한 8개의 method를 제공한다. onCreateonStartonRestartonResumeonFreezeonPauseonStoponDestroy위 method들이 라이프사이클 변화에 따라 어떤 순서로 호출되는지 아래 그림에서 살펴보도록 하자.





iPhone OS 2.0 시연

http://www.apple.com/quicktime/qtv/iphoneroadmap/

3월 6일 Cupertino 애플 본사에서 열린 iPhone OS 2.0에 대한 프리젠테이션을 보면 아래와 같은 iPhone 관련 미래에 대해 생각해 볼 수 있다.

- iPhone은 Exchange Server와의 ActiveSync를 이용한 연동기능을 앞세워 BlackBerry를 제치고 스마트 폰 최강자로 발돋음할 것이다.

- 강력한 iPhone SDK를 제공하여 수많은 개발자들이 iPhone 소프트웨어를 개발할 것이며 새로운 Eco 시스템을 구축할 것이다.

- Mac OS X과 동일한 개발 환경을 제공하고 있는 iPhone SDK에 의해 Mac OS X 소프트웨어 개발자 층이 좀 더 넓어질 것이며 Mac OS X의 저변 확대를 촉진할 것이다.

- iPhone SDK에 의해 iPhone, iPod Touch는 게임기 시장의 강력한 경쟁자로 발돋음하게 될 것이다.

- iPhone과 관련된 어플리케이션 개발, 기술 교육/컨설팅 업체들이 속속 등장할 것으로 생각된다.

- 분명 관련 Job 시장도 뜨겁게 달구어질 것이다!

iPhone SDK 출시

드디어 iPhone SDK가 출시되었다.
ADC 가입자이면 무료로 다운로드가능하며 Mac OS X에서 실행가능하다. 요점에 있어 많은 윈도우즈 사용자 분들에게는 실망일지도 모르겠다.

예상하였던 것처럼 Objective C 언어를 이용하여 개발이 가능하며 Xcode, Dashcode등의 도구를 사용하여 개발이 가능하다. Google Android와 달리 출시하면서 바로 정식버전이 제공되었으면 개발 환경, 시뮬레이터, 문서 등등 모든 부분에 있어 매우 완성도가 높아보인다.

iPhone 운영체제의 구조는 Apple이 제공한 문서에 따르면 Mac OS X의 그것과 크게 다르지 않으며 Core OS, Core Services, Media Framework, Cocoa Framework등의 구조로 이루어진다.

직접 iPhone SDK를 다운로드하여 설치한 후 실행을 해보니 기존 Mac OS용 Cocoa 어플리케이션을 개발하는 것과 동일하게 손쉬운 개발이 가능한 것으로 보인다. 생성 가능한 프로젝의 종류로는 "Cocoa Touch Application", "Cocoa Touch List", "Cocoa Touch Toolbar"등의 3가지 종류가 있다.
각각의 자세한 내용에 대해서는 차차 살펴보아야 겠다.

"Cocoa Touch Application"을 생성하여 바로 빌드해서 실행해보니 Aspen Simulator라고 하는 iPhone 시뮬레이터가 실행되어 빈 화면의 어플리케이션이 실행되었다. Aspen Simulator는 겉보기에 iPhone과 완전히 동일한 UI를 제공하였으며 Option키를 누른채로 마우스를 이용하면 two touch 처리(사진등의 크기를 줄이거나 늘리기 위해 사용하는)도 가능하였다. Command키와 좌/우 화살표키를 이용하면 가로/세로 모드 변경도 가능하다.

잠깐 살펴본 iPhone SDK. 개발자로서 사용하기 쉽고 문서도 풍부하게 제공되고 있으며 시뮬레이터도 훌륭했다. Mac OS에서만…

iPhone SDK 출시 임박

작년 스티브 잡스가 약속한 iPhone SDK가 출시를 임박하고 있다는 소식.
다음 주에 SDK를 공개할 것이라고 하는데 Apple의 iPhone에서 기업용 솔루션등 다양한 어플리케이션을 개발 할 수 있을 것으로 기대 만발이다.

http://www.macworld.com/article/132275/2008/02/sdk.html

이 SDK는 아마도 Objective C를 이용하여 개발가능하고 이미 JailBreaker를 이용한 개발 절차와 유사할 것이라고 점처지고 있다. 물론, 에뮬레이터 환경도 제공할 것으로 기대된다.

이미 Oreilly에서 iPhone에 대한 소프트웨어 개발에 대한 책도 beta 버전형태로 제공하고 있으니 참고해보시기 바란다.

http://my.safaribooksonline.com/9780596518554