2010년 5월 6일 드디어 베일에 가려져 있던 bada 모바일 플랫폼 SDK가 개발자들에게 공개되었습니다. 아직 bada 플랫폼이 적용된 스마트폰이 발매되지 않았고 SDK 또한 beta 버전이기는 하지만, 단기간에 개발되었다고는 하나 SDK를 보면 제대로 만들었다고 생각이 들게 합니다.
한국은 미국에 비해 소프트웨어 산업이 전반적으로 약하나 특히 시스템 소프트웨어는 더 심합니다. 큐브리드 DBMS 프로젝트를 참여하게 된 것도 그런 바탕을 미력이나마 도울 수 있을까 하는 고민에서 시작하였습니다. bada 또한 저에게는 한국의 대표 기업인 삼성이 모바일 플랫폼 분야에서 세계적인 모바일 기업인 애플과 나란히 할 수 있기를 바라는 마음에 관심을 갖게 되었습니다.
공부하는 입장에서 쓰는 글이라 부족한 점이 많겠지만, 함께 스터디를 해나간다고 생각하시고 양해해주시길 부탁드리겠습니다. 함께 bada에 뛰어들어보자구요~
한국은 미국에 비해 소프트웨어 산업이 전반적으로 약하나 특히 시스템 소프트웨어는 더 심합니다. 큐브리드 DBMS 프로젝트를 참여하게 된 것도 그런 바탕을 미력이나마 도울 수 있을까 하는 고민에서 시작하였습니다. bada 또한 저에게는 한국의 대표 기업인 삼성이 모바일 플랫폼 분야에서 세계적인 모바일 기업인 애플과 나란히 할 수 있기를 바라는 마음에 관심을 갖게 되었습니다.
공부하는 입장에서 쓰는 글이라 부족한 점이 많겠지만, 함께 스터디를 해나간다고 생각하시고 양해해주시길 부탁드리겠습니다. 함께 bada에 뛰어들어보자구요~
bada SDK가 설치되었다고 가정하고 프로젝트 생성부터 시작하겠습니다.
1. 프로젝트 생성 File - bada Application Project를 선택합니다.
2. 프로젝트 생성 마법사가 보입니다.
프로젝트명을 적절히 입력하여 주세요(FormTestApp으로 하겠습니다). Project type에는 Application의 bada Form Based Application을 선택하겠습니다.
(맥 사용자인데 개발도구가 맥용으로 개발이 되었으면 좋겠습니다^^)
다음의 각 프로젝트 템플릿별 설명은 삼성에서 공개한 문서에서 발췌하였습니다.
1. bada 프레임 기반 어플리케이션(bada Frame Based Applications):
• This template is suitable for creating a simple project based on a frame.
• 이 템플릿은 프레임을 기반으로 둔 간단한 프로젝트에 적합하다.
• You can create an application for getting more familiar with bada or for testing particular steps in application creation.
• bada에 더 친숙해지기 위해 또는 어플리케이션 생성의 특정 절차의 테스트를 위해 어플리케이션을 생성할 수 있다.
• This template contains the basic application functionality as well as the functionality for printing out the project name on the device screen.
• 이 템플릿은 디바이스 화면에 프로젝트명이 출력되는 기능과 같은 기본 어플리케이션 기능을 포함한다.
2. bada 폼 기반 어플리케이션 (bada Form Based Applications):
• This template is suitable for creating a simple project based on a form.
• 이 템플릿은 폼 기반의 단순 프로젝트를 생성하는데 적합하다.
• This template contains the basic application functionality as well as the functionality for drawing a form on the device screen.
• 이 템플릿은 디바이스 화면에 폼을 그리는 기능과 같은 기본 어플리케이션 기능을 포함한다.
3. bada 빈 프로젝트 (bada Empty Project)
• This template is suitable for creating a project with only project files without any source or include files. The template is used for importing the existing source files.
• 이 템플릿은 어떠한 소스나 포함된 파일도 없이 오직 프로젝트 파일만을 가진 프로젝트를 생성하는 데 적합하다. 이 템플릿은 존재하는 소스 파일을 추가하는 용도로 사용된다.
4. bada 정적 라이브러리 (bada Static Library)
• This template is suitable for creating an application library with static libraries. If you select this template, you need to make sure that the Linker of the IDE can access the external libraries at the build time. Therefore, you need to define the path to the libraries in the project settings. When you build the project, the IDE creates the links to the external static libraries.
• 이 템플릿은 정적 어플리케이션 라이브러리를 생성하는 데 적합하다. 이 템플릿을 선택하면, IDE의 링커가 빌드 시점에 외부 라이브러리에 접근할 수 있도록 만드는 데 필요하다. 그러므로, 프로젝트 설정에서 라이브러리의 경로를 정의할 필요가 있다. 프로젝트를 빌드할 때, IDE는 외부 정적 라이브러리로 링크를 생성한다.
• This template is suitable for creating a simple project based on a frame.
• 이 템플릿은 프레임을 기반으로 둔 간단한 프로젝트에 적합하다.
• You can create an application for getting more familiar with bada or for testing particular steps in application creation.
• bada에 더 친숙해지기 위해 또는 어플리케이션 생성의 특정 절차의 테스트를 위해 어플리케이션을 생성할 수 있다.
• This template contains the basic application functionality as well as the functionality for printing out the project name on the device screen.
• 이 템플릿은 디바이스 화면에 프로젝트명이 출력되는 기능과 같은 기본 어플리케이션 기능을 포함한다.
2. bada 폼 기반 어플리케이션 (bada Form Based Applications):
• This template is suitable for creating a simple project based on a form.
• 이 템플릿은 폼 기반의 단순 프로젝트를 생성하는데 적합하다.
• This template contains the basic application functionality as well as the functionality for drawing a form on the device screen.
• 이 템플릿은 디바이스 화면에 폼을 그리는 기능과 같은 기본 어플리케이션 기능을 포함한다.
3. bada 빈 프로젝트 (bada Empty Project)
• This template is suitable for creating a project with only project files without any source or include files. The template is used for importing the existing source files.
• 이 템플릿은 어떠한 소스나 포함된 파일도 없이 오직 프로젝트 파일만을 가진 프로젝트를 생성하는 데 적합하다. 이 템플릿은 존재하는 소스 파일을 추가하는 용도로 사용된다.
4. bada 정적 라이브러리 (bada Static Library)
• This template is suitable for creating an application library with static libraries. If you select this template, you need to make sure that the Linker of the IDE can access the external libraries at the build time. Therefore, you need to define the path to the libraries in the project settings. When you build the project, the IDE creates the links to the external static libraries.
• 이 템플릿은 정적 어플리케이션 라이브러리를 생성하는 데 적합하다. 이 템플릿을 선택하면, IDE의 링커가 빌드 시점에 외부 라이브러리에 접근할 수 있도록 만드는 데 필요하다. 그러므로, 프로젝트 설정에서 라이브러리의 경로를 정의할 필요가 있다. 프로젝트를 빌드할 때, IDE는 외부 정적 라이브러리로 링크를 생성한다.
3. bada SDK를 선택하는 화면 입니다.
다음 단계로 넘어갑니다.
4. 디바이스 설정 화면 입니다.
manifest.xml 파일을 생성해야하는데, bada 개발자 홈페이지에서 생성할 수 있으며 현재는 테스트 개발이므로 기본 파일을 사용하겠습니다. 다음 단계로 넘어갑니다.
5. 기본 폼 이름을 정합니다.
디바이스에서 실제로 화면을 꾸밀 수 있는 개체가 바로 폼입니다. Form 클래스를 상속해서 만들게 되어 있는데, 현 단계에서는 Form을 상속한 사용자 정의 폼을 만들게 됩니다. Form name에는 MainForm을 입력하겠습니다. 다음 단계로 넘어갑니다.
6. 기본 설정 화면 입니다.
Vendor나 Description에 적절히 입력을 하시고 다음 단계로 넘어갑니다.
7. 디플로이(deploy)를 위한 환경설정 화면 입니다.
다음 단계로 넘어갑니다.
8. 이제 프로젝트 생성 마법사의 마지막 단계 입니다.
Finish를 하시면 됩니다.
9. 이렇게 하여 첫 프로젝트를 만들었습니다.
10. 실행
실행 방법은 프로젝트를 선택하시고 마우스 우클릭하시면 컨텍스트 메뉴가 나오는데, Run As - bada Simulator Application을 선택하면 bada 시뮬레이터가 뜨면서 방금 만든 프로젝트가 실행됩니다. (이클립스 유저라면 잘 아시죠?)
단, 최초 빌드시에는 Java 개발시와는 다르게 Run As만으로 실행되지 않습니다.
Java는 실시간으로 컴파일되어 class가 생성되지만,
C++는 특성상 컴파일후에 링크과정이 있기 때문에 최초 Build를 한 다음 Run을 해야 정상적으로 실행이 됩니다.
아래 화면에 Build Project를 한 번 해주신 후 Run As를 이용하여 실행해주시면 되겠습니다.
