HTML 5 Weekly 에서 Webzine으로 메일이 주기적으로 오는데 아주 흥미로운 기사를 보게 되어 이렇게 글을 쓰게 됩니다.

다음 부터 쓰는 글들은 MSDN Magazine에서 올라온 글인 "Develop HTML5 Windows Phone Apps with Apache Cordova-Colin Eberhardt" 을 참고로 하여  못하는 영어 해석해가며 인용하여 쓴 글입니다(그러니 조금 오역이나 잘못된 글이 있다 하더라도 이해해 주세요^^ ;;;;;). 자 그럼 시작해 보겠습니다!!!!!


Apache Cordova글 시작

This article introduces Apache Cordova, a framework for creating cross-platform mobile applications using HTML5 and JavaScript, and shows how it can be used to develop applications for Windows Phone.
이 글은 HTML5와 JavaScript를 이용하여 Cross-platform(다중 플랫폼) 모바일 응용프로그램을 만들 수 있는  Framework을 소개하고 어떻게 Window Phone용 응용프로그램을 Apache Cordova로 개발할 수 있는지를 소개하는 것입니다.


Windows Phone and its native development platform allow you to create beautiful Metro-style applications with ease. With the recent Nokia partnership, Windows Phone is starting to find its way into more and more pockets.
윈도우 폰과 윈도우 폰 네이티브 개발 플랫폼은 아름다운 메트로 스타일의 응용프로그램을 쉽게 만들 수 있도록 해줍니다. 윈도우 폰은 현제 더욱 더 휴대할 수 있는 방법을 노키아 파트너쉽을 통하여 시작하고 있습니다.


Recent data published by research firm Gartner Inc. predicts a promising future for the Microsoft OS (bit.ly/h5Ic32), with significant market share in a fragmented market. If you’re developing a smartphone application, this market fragmentation means you either have to choose which OS to target or write the same application multiple times using the diverse range of languages these phones require (C#, Java and Objective-C).
최근 연구 조사기관인 Gartner Inc에서 발표한 데이터에 의하면 분산되어 있는 어플리케이션 시장(이하 마켓)의 공유를 얼마나  중요하게 다루느냐가 마이크로소프트 운영체제(이하 OS)의 미래를 약속한다고 내다봤습니다. 분산되어 있는 마켓이라 하면,  스마트폰 응용프로그램을 개발한다고 가정하고, 어떤 OS를 선택할 것인지 다양한 언어중 폰에서 요구하는 언어는 어떤 것으로 해야 하는지를 결정 짓는 것을 뜻합니다.


However, there is another way. All these smartphones have a highly capable browser, in many ways more capable than their desktop counterparts, where some people still use archaic browsers! Modern smartphones allow you to create applications that run within the browser using a combination of HTML5, JavaScript and CSS. With these technologies you can potentially write a single browser-based application that runs across a diverse range of smartphone devices.
그러나, 여기 대안이 있습니다. 모든 스마트폰에는 고기능의 브라우저를 가지고 있는데, 이 브라우저들은 어떤 분들이 쓰는 구식 데스크탑 브라우저에 비해서 다양한 방면에서 뛰납니다! 현대의 스마트폰은 브라우저에서 HTML5, JavaScript 그리고 CSS의 조화를 이뤄 실행할 수 있는 응용프로그램을 만드는 것을 허용하고 있습니다. 이런 기술은 하나의(또는 어떤) 브라우저를 기본으로 하는 응용프로그램을 기술함으로서 다양한 스마트폰 기계에서 사용할 수 있는 잠재력을 말합니다.


Apache Cordova의 소개

You can create an HTML5-based mobile application by creating a public Web page with JavaScript and HTML5 content and directing people to the hosting URL. However, there are a couple of problems with this approach. The first is the distribution model through online marketplaces and stores. You can’t submit the URL that hosts your Web app to a marketplace, so how can you monetize it? The second problem is how to access the phone’s hardware. There are no widely supported browser APIs for accessing phone contacts, notifications, cameras, sensors and so on. Apache Cordova (just Cordova hereafter for brevity) is a free and open source framework that solves both of these problems.
당신은 JavaScript와 HTML5로 이뤄져있고 사용자가 호스팅 URL로 접근할 수 있는 HTML5 모바일 웹페이지 응용프로그램을 만들 수 있습니다. 그러나 이런 접근은 몇가지 문제점을 가지고 있습니다. 첫 번째로 온라인 마켓의 장소와 상점을 통한 배포모델입니다. 웹 응용프로그램을 마켓 호스트 URL로 등록할 수 없는데 어떻게 통용시킬 수 있겠습니까? 두 번째 문제는 어떻게 스마트폰의 하드웨어에 접근하느냐 하는 것입니다. 스마트폰의 주소, 알림, 카메라, 센서 외에도 여러부분이 브라우저 API에서 지원하지 않고 있습니다. 하지만 Apache Cordova(이하 Cordova)는 이 두가지 문제점을 해결해 주는 무료 오픈소스 프레임웍입니다.


Cordova started life as PhoneGap, which was developed by Nitobi. In October 2011 Nitobi was acquired by Adobe Systems Inc., with the PhoneGap framework being open-sourced under the Apache Software Foundation and rebranded as Cordova. This transition is still underway.
Cordova는 Nitobi에 의해 PhoneGap으로 시작하였습니다. 2011년 10월 Nitobi는 Adobe System Inc에서 이 프로그램을 습득하였는데 후에 PhoneGap 프레임웍은 오픈소스로서 아파치 재단아래에서 Cordova로 명명하기 시작하였습니다. 그리고 아직도 과도기에 있습니다.


Cordova provides an environment for hosting your HTML5/JavaScript content within a thin native wrapper. For each smartphone OS, it uses a native browser control to render your application content, with the application assets being bundled into the distributable. With Windows Phone, your HTML5 assets are packaged within the XAP file and loaded into isolated storage when your Cordova application starts up. At run time, a WebBrowser control renders your content and executes your JavaScript code.
Cordova는 가벼운 네이티브 래퍼와 함께 HTML5와 JavaScript컨텐츠를 호스팅 할 수 있는 환경을 제공합니다. 이는 각각의 스마트폰 OS의 기본 브라우저 컨트롤을 사용하여 분포된 응용프로그램 자산을 묶고 그 내용(Content)를 표현해 줍니다. 당신의 HTML5 자산들은 윈도우즈 폰에서 XAP 파일에 담겨지고, Cordova의 독립된 저장공간(Storaage)안에서 로드되어 응용프로그램이 시작됩니다. 이 때, 웹브라우저 컨트롤러는 내용을 표현하고, JavaScritp코드를 실행하게 됩니다.


Cordova also provides a set of standard APIs for accessing the functionality that’s common across different smartphones. Some of these functionalities include:
Cordova는 서로다른 기종의 기본 기능을 접근할 수 있게 해주는 표준 API들을 제공하고 있습니다. 다음과 같은 것들을 포함하고 있습니다:


  • Application lifecycle events
  • 응용프로그램 생애주기 이벤트들
  • Storage (HTML5 local storage and databases)
  • 저장공간(HTML5 자체 저장공간 및 데이터 베이스)
  • Contacts
  • 연락처
  • Camera
  • 카메라
  • Geolocation
  • 위치정보
  • Accelerometer
  • 가속측정(이건 뭐라해야 올은건지 모르겠네요....)

Each one of the preceding functionalities is exposed as a Java­Script API, which you use from your JavaScript code. Cordova does all the hard work involved in providing the required native implementation, ensuring that you work against the same JavaScript APIs, regardless of the phone OS your code is running on, as illustrated in Figure 1.
당신이 JavaScript코드를 사용하게 되면 각각의 선행기능들이 JavaScript API에 감지되게 됩니다. Cordova는 동일한 JavaScript API들을 사용하여 기본실행에 필요한 복잡한 작업들(이 기종간 호환성을 찾고 그 것에 맞게 랲핑하는 것)에 관하여 제공하는데, Figure 1의 그림에서 처럼 스마트 폰의 OS와 상관없이 당신의 코드는 실행 되어집니다.


Cordova개념도Cordova는 하나의 HTML5 응용프로그램으로 다중기종 모바일 OS들간의 실행을 지원합니다.


The bulk of this article discusses Cordova from the perspective of a Windows Phone developer, where development takes place within Visual Studio and you test your application on the emulator or a physical device. While Cordova is a cross-platform technology, you typically develop using your editor or IDE of choice, so an iOS developer would develop a Cordova application in Xcode and an Android developer would most likely use Eclipse.
이글은 대부분 
Cordova의 Visual Studio나 에뮬레이터 또는 물리적인 기계에서의 개발하는 윈도우 폰 개발자의 시점에서 이야기하게 됩니다. 하지만, Cordova로 다중 플랫폼 기술을 사용하는 동안 에디터나 IDE를 선택해야 하는데, iOS개발자는 Xcode내에 Cordova응용프로그램을 개발할 수 있으며, Android개발자는 Eclipse를 사용할 수 있습니다.


Cordova also has a cloud-based build service called Build (build.phonegap.com), where you can submit your HTML5/JavaScript content. After a short time it returns distributions for most of the Cordova-supported platforms. This means you don’t need to have copies of the various platform-specific IDEs (or a Mac computer) in order to build your application for a range of platforms. The Build service is the property of Adobe and is currently in beta and free to use. It will remain free for open source projects.
Cordova는 HTML5/JavaScript을 언제 어디서든 제공할 수 있도록 클라우드 기반의 빌드 서비스 즉 빌드(build.phonegap.com)에 대한 것도 포함하고 있습니다. 후에 분산된 Cordova를 지원하는 플랫폼의 대부분이 될 것입니다. 이는 사용 플랫폼의 IDE 또는 맥컴퓨터에 복사할 필요가 없이 다양한 플랫폼의 범위에 대해서 응용프로그램을 빌드할 수 있다는 뜻입니다. 이 빌드 서비스는 Adobe의 자산이며 현제는 베타로 무료제공되고 있습니다. 이것은 무료 오픈소스 프로젝트로 남게될 것입니다. 


1장마무리....

오늘은 여기까지 하겠습니다. 3일을 번역했는데.....;;;;;;힘드네요^^;;;;;;; 2장에서는 Cordova를 얻어서 설치하고, 샘플로 어떻게 개발하는지를 번역하여 보겠습니다. 그럼 좋은 하루되세요....^^

Posted by gofly

댓글을 달아 주세요