bada SDK 1.1.0b1이 공개되었습니다.

bada 2010/10/06 19:31 Posted by 종이비행기
최근 세미나에서 담당자가 잠시 이야기했던 800x480, 400x240간의 Auto Scaling이 추가되었고,
테스팅 프레임워크가 추가되었습니다. [다운로드]



저작자 표시 비영리 변경 금지

[bada로 뛰어들자] 개발환경 만들기

bada 2010/10/06 18:59 Posted by 종이비행기
1. SDK 다운로드

bada 개발자 홈페이지(http://developer.bada.com)로 접속을 합니다.
상단의 Development Tools로 개발툴 페이지로 이동후 왼쪽 메뉴를 보시면, Downloads에 SDK 다운로드 링크가 있습니다.
글을 쓰고 있는 시점은 막 1.1.0b 버전이 나온 시점이라 bada SDK 1.1.0b를 선택합니다.

물론 다운로드를 받기 위해서는 bada 개발자로 가입 신청을 하셔야 합니다. Apple은 매년 99불을 지불해야 개발자로 활동할 수 있는데, 삼성 bada는 후발주자라서인지 무료로 가입이 가능하고 Samsung Apps도 제약없이 무료로 가입이 가능합니다.



다운로드 페이지에서 bada_SDK_1.1.0b1.exe bada SDK 1.1.0b1_WaveWQ_LP1.zip 파일을 함께 받습니다.
exe파일은 설치파일이고, zip파일은 Wave Phone Simulator를 포함하는 언어팩입니다.
둘 다 한 폴더에 다운로드 받으신 후 exe파일을 실행하면 설치를 시작하게 됩니다.


2. 설치


라이선스 확인 화면 입니다. 물론, [I Agree]하시면 되겠지요.


1.0까지는 WQVGA Simulator 지원이 되지 않았는데, 1.1.0b부터 WQVGA Simulator가 추가되면서 Language Pack이 추가되었습니다. 기본 상태에서는 Wave Language Packs v1.0.0은 선택되어 있지 않은데 이것도 아래와 같이 선택을 한후 Next 버튼을 누릅니다.


기본 경로로 설치하겠습니다.
원하는 위치에 설치를 하실 경우 버전 번호는 남겨두시는 것이 좋습니다.
bada SDK 차기 버전을 버전 번호 별로 별도 관리하여 호환성 테스트시 이용할 수 있으니까요.


시작메뉴 그룹을 선택합니다.




설치가 끝났습니다. [Finish]를 선택해주세요.



3. 실행

설치가 끝나면 좀전에 선택한 시작메뉴 그룹에 보면 bada IDE를 볼 수 있습니다. 이를 실행합니다.

bada IDE를 실행합니다.



bada의 로고가 뜨면서 IDE가 실행이 됩니다.


이클립스를 사용하시는 분이시라면 익숙한 화면이지요.
프로젝트를 생성하고 작업할 작업 폴더를 지정하는 화면 입니다. 이클립스 특성상 작업 폴더는 여러곳에 지정하여 원할 때마다 스위칭해서 사용하실 수 있습니다. 여기서는 기본 폴더를 이용하도록 하겠습니다.


bada IDE의 초기화면 입니다.
여기에 있는 API Reference는 개발을 하면서 자주 보게되실 것입니다. Help 메뉴를 이용해서 접근 가능하기도 합니다.
이제, Workbench를 선택하시면 친숙한 이클립스의 작업화면으로 전환됩니다.

이제 개발환경 구성이 마무리 되었습니다. 이클립스로 Java 개발을 하셨던 분들은 아주 친숙하실 것입니다.
다만, 우측에 보이는 Sample Project 목록이 새로우실텐데, 프로젝트 생성에 대한 글을 쓸 때 설명하도록 하겠습니다.


bada 개발환경은 현재 윈도우즈에서만 동작하기 때문에 불편한 점이 없지않습니다.
현재 bada는 급속으로 진화하고 안정화되고 있는 중이기 때문에 윈도우즈 하나의 플랫폼 지원에도
벅차리라 생각이 듭니다.
로드맵상 Linux, Mac OSX에서도 지원될 거라는 이야기를 들었습니다.
SDK를 사용하는 엔드유저로서 기다릴 수밖에는 없겠지요.
오픈소스라면 어떤 해커분이 빌드해서 배포할 수도 있겠지만, bada는 오픈소스는 아니기 때문에 삼성에서 해주기를 무한정 기다릴 수밖에 없겠습니다.

Apple에는 AppStore가 있다면 bada에는 Samsung Apps가 있습니다.
최근에는 1400여개의 앱이 등록되어 있다고 합니다.
1400여개면 AppStore의 25만개에 대적하지도 못할 수치이기는 하지만,
다르게 보면 개발자들에게는 하나의 기회가 될 수도 있겠습니다.
물론, 삼성이 어떻게 앞으로 진화시켜갈지가 키포인트이기는 하겠지만 말이죠.

Apple AppStore로 촉발된 플랫폼 시장에 과감히 도전장을 낸 삼성의 앞으로의 행보가 기대되기도 합니다.
저작자 표시 비영리 변경 금지

[bada로 뛰어들자] Samsung bada Tutorial Overview 번역

bada 2010/05/12 09:31 Posted by 종이비행기


What is bada?
bada란?

bada, (bɑdɑ, the Korean word for “ocean”,) is a new smartphone platform that allows developers to create feature-rich applications that elevate the user experience in mobile spaces.
bada(한국어로 바다를 뜻하는 단어)는 모바일 공간에서 개발자들이 사용자 경험을 높여 특색있는 어플리케이션을 만들 수 있게 하는 새로운 스마트폰 플랫폼이다.


User-interactive
사용자 상호작용

Samsung bada includes a new UI framework that supports the next generation Samsung touch UI. The main UI delivers simplicity and ease, without decreasing usage efficiency. The UI framework introduces an open-ended evolutionary innovation from the current touch UI to leverage better user experiences.
삼성 bada는 차세대 삼성 터치 UI를 지원하는 새로운 UI 프레임워크를 포함한다. 메인 UI는 사용함에 있어 효율의 저하없이 간결함과 편리함을 준다. UI 프레임워크는 더 나은 사용자 경험을 주기 위해 최근 터치 UI로부터 제한없는 진화된 혁신을 소개한다.

Some additional UI tools include the ability to embed the Adobe® Flash® Player and the WebKit Internet browser directly into native bada applications, allowing seamless integration of premiere UI technologies. Also, the bada map control is easily embedded in your applications to deliver interactive mapping and routing with POI features for your users.
몇몇 부가적인 UI 도구는 bada 네이티브 어플리케이션에 직접적으로 Adobe® Flash® Player와 WebKit Internet browser를 추가하는 기능을 포함하여, UI 기술들의 매끄러운 통합이 가능하다. 또한, bada 맵 컨트롤은 사용자들에게 POI로 경로를 찾고 상호작용하는 맵핑을 제공해야 하는 여러분의 어플리케이션에 쉽게 임베드 된다.

The bada platform provides user interaction modalities including motion sensing, fine-tuned vibration control, and face detection. These interfaces open up new possibilities for greater creativity and user interactivity in developing applications. Samsung bada also provides a mechanism to develop sensor-based, context-aware applications. With weather service and sensors such as acceleration, magnetic, tilt, GPS, and proximity sensors, application developers can easily implement context-aware, interactive applications.
bada 플랫폼은 모션 센서, 미세하게 조정이 되는 진동 컨트롤, 그리고 얼굴 인식을 포함하는 사용자 인터렉션의 방식을 제공한다.
이들 인터페이스는 개발하는 어플리케이션에 있어 창조성과 사용자 상호작용의 새로운 가능성을 열어준다. 삼성 bada는 또한 센서기반(sensor-based), 문맥인식(context-aware) 어플리케이션을 개발하기 위한 메커니즘을 지원한다. 날씨 서비스와 가속, 자기, 틸트, GPS, 그리고 근접 센서와 같은 센서 어플리케이션 개발자들은 쉽게 문맥인식(context-aware), 상호작용(interactive) 어플리케이션을 구현할 수 있다.


Service-oriented
서비스 기반

Samsung bada introduces several new service-centric capabilities that differentiate it from conventional mobile operating systems. These new features include social networking, content management, location-based services, and commerce services, all supported by back-end bada servers. Developers can now create service-centric applications without additional effort compared to developing mobile standalone applications.
삼성 bada는 기존의 모바일 운영체계와 구분 짓는 여러 새로운 서비스-중심(service-centric) 능력을 보여준다. 이들 새로운 특징들은 백엔드(back-end) bada 서버들에 의해 지원되는 소셜 네트워킹, 컨텐츠 관리, 위치-기반 서비스, 커머스 서비스를 포함한다. 개발자들은 이제 독립형 모바일 어플리케이션을 개발하는 것에 비교해서 추가 노력 없이도 서비스-중심 어플리케이션을 만들 수 있다.

Social networking applications can manage user profiles, including buddy information for application users, and can integrate users on most popular social networking services. Content management applications can store and search contents on devices and servers. Location applications can use landmark stores, maps, and geo-coding services. Commerce applications can sell products, such as game items in applications.
소셜 네트워킹 어플리케이션은 어플리케이션 사용자들의 친구 정보를 포함하는 사용자 프로파일을 관리할 수 있으며, 대부분의 유명한 소셜 네트워킹 서비스의 사용자들과도 통합이 가능하다. 컨텐츠 관리 어플리케이션은 디바이스와 서버에서 컨텐츠를 저장하고 검색할 수 있다. 위치 어플리케이션은 이정표, 지도, 지오코딩 서비스를 사용할 수 있다. 커머스 어플리케이션은 어플리케이션 내부에서 게임 아이템과 같은 상품을 판매할 수 있다.


Open and Configurable
개방 및 설정가능

Samsung bada enables developers to take full advantage of mobile device capabilities to easily create compelling applications. Applications can use device functions to make phone calls, send messages, or access the contact list, as various application controls allow developers to create richer, more consistent applications.
삼성 bada는 개발자들에게 강렬한 어플리케이션을 쉽게 만들기위한 모바일 디바이스 기능의 장점을 취할 수 있도록 한다.
어플리케이션은 전화 걸기, 메시지 전송, 주소록 접근, 부유하게 만들기 위해 개발자들에게 허용하는 다양한 어플리케이션 컨트롤로 더욱 일관된 어플리케이션을 만들기 위해 디바이스 기능들을 사용할 수 있다.

Different service applications can share information such as personal profiles, social relations, schedules, and contents with simple user confirmation, all in order to provide services with greater personal relevance and cooperative service extensions. For example, social networking applications can share user information with commerce or location-aware applications, and share photos from other content publishing applications.
서로 다른 서비스 어플리케이션은 거대한 개인 관계성과 협력하는 서비스 확장과 함께 서비스를 제공하기 위한 모든 것이 간단한 사용자의 승인만으로 소셜 릴레이션, 스케쥴, 개인 프로필과 같은 정보를 공유할 수 있다.

The bada platform is kernel-configurable so that it can run either on the Linux kernel or real-time OS kernels, which makes bada applicable to a wider range of devices than any other mobile operating system. Samsung bada uses Eclipse and a GNU tool- chain, providing developers with a popular and extensible development environment.
bada 플랫폼은 커널 설정이 가능하기에 bada는 어떠한 모바일 운영체계보다 광대역의 디바이스를 지원하여, 리눅스 커널 또는 실시간 OS 커널을 실행할 수 있다. 삼성 bada는 개발자들에게 유명하고 확장성 있는 개발 환경을 제공하는 Eclipse와 GNU 컴파일 도구들을 사용한다.


bada Architecture
bada 아키텍처

Samsung bada has a four-layer architecture: kernel, device, service, and framework layers. The kernel layer can be the Linux kernel or a real-time OS kernel, depending on the hardware configuration. The device layer provides the core functions as a device platform, such as system and security management, graphics and windowing system, data protocols and telephony, as well as audio-visual and multimedia management. The service layer provides service-centric functions that are provided by application engines and web-service components interconnecting with bada Server. Only the framework layer can export the C++ open API. The framework consists of an application framework and functions exported by the underlying layers.
삼성 bada는 커널, 디바이스, 서비스, 프레임워크, 이 4개의 레이어 아키텍처를 가진다. 커널 레이어는 하드웨어 설정에 따라 리눅스 커널 또는 실시간 OS 커널이 될 수 있다. 디바이스 레이어는 시스템과 보안 관리, 그래픽 및 윈도우처리 시스템, 데이터 프로토콜, 전화, 오디오-비주얼 및 멀티미디어 관리와 같은 디바이스 플랫폼의 핵심 기능을 제공한다. 서비스 레이어는 bada 서버와 결합되는 어플리케이션 엔진과 웹서비스 컴포넌트에 의해 지원되는 서비스-중심의 기능을 지원한다. 오직 프레임워크 레이어만이 C++ 오픈 API로 나와 있다. 이 프레임워크는 기저 레이어에 의해 산출된 어플리케이션 프레임워크와 함수들로 구성된다.



저작자 표시 비영리 변경 금지