SlideShare a Scribd company logo
1 of 40
Download to read offline
Developer Summit 2011




X-Platform Development with ngCore


                                                                       Kazuhiro KONDO
                                                                kondo.kazuhiro@dena.jp
                                                                              DeNA, inc
   Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
はじめに



 本日のお題は
 “Smartphone X-Platform Development”

 X-Platform == “X-Device”
 Platform == “Android” || “iOS”



 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
自己紹介
 近藤 和弘 (33)
 所属
     株式会社ディー・エヌ・エー
     ソーシャルメディア事業本部ソーシャルゲーム統括部
     スマートフォン開発グループ グループリーダー
 略歴
     ‘02/03           大阪大学大学院基礎工学研究科修士課程修了
     ‘02/04           ソニー(株)入社
     ’02/04           ソニーエリクソン・モバイルコミュニケーションズ(株)に出向
     ‘07/04           ソニーエリクソン・モバイルコミュニケーションズ(株)に転籍
     ‘10/10           株式会社ディー・エヌ・エーに転職

 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Contents
  1.      What can ngCore do ?
  2.      Architecture of ngCore
  3.      How to develop application with ngCore
  4.      Inside of ngCore-based application
  5.      Next step
  6.      Summary




  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
1. What can ngCore do ?




Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Quiz




  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Answer



                      ×                                        ×


                      ○                                        ○
  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Tap Slash Ninja




  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Demo




 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Capability


 Possible                                                      Possible

  Coming                                                       Coming
  Soon !                                                       Soon !
  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Why ngCore ?
                    ngCore is a technology
              for ”Social Game on Smartphone”

 Quick development                                               High-quality UX
   on X-Platform                                                 for Smartphone

Social Gameの成功には                                               Smartphoneユーザは、
クイックなアップデートが必須                                                 SmartphoneレベルのUXを求める
できるだけ多くのユーザを集めるには                                              実装手法は言い訳にならない
X-Platform性も重要

  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
2. Architecture of ngCore




Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Mobage Service Architecture
                                             国内)
                                    モバゲータウン (国内)                                Mobage
                            JP Local API                         Common API            US Local API
 サービス



                               サービスAPI
                               サービス                              サービスAPI
                                                                 サービス               サービスAPI
                                                                                    サービス
                              for Android                        for ngCore          for iOS

                                    アプリ
                             Androidアプリ                          ngCore アプリ             アプリ
                                                                                    iOSアプリ
アプリケーション
                               (Java)
                                    )                            (JavaScript)
                                                                            )     (Objective-C)
                                                                                              )


                                                                ngCore エンジン



  OS                                        Android                              iOS


   Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
ngCore Overall Architecture
                                                                Mobage
                                                           App Hosting Server




                                          ngCore-based Apps (JavaScript)

                                             ngCore Modules (JavaScript)


   Android Apps                              ngCore                   ngCore               iOS Apps
                                             Runtime                  Runtime
                                           for Android                 for iOS
   Android
                                              (C++)                   (Obj-C)
APP-FW (Java)

                       Android                                                     iOS
                        (C++)                                                    (Obj-C)

   Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Application Packaging & Release
        Androidの場合
               の                                                           iOSの場合
                                                                              の
           Mobage
      App Hosting Server
       App-A App-B                                                 App-A            App-B


                                                               ngCore Runtime    ngCore Runtime
                                                                 for Android       for Android

                                                                     App-A.app         App-B.app
         App-A             App-B




        ngCore Runtime
          for Android


                MobageApp.apk                                       App-A.app         App-B.app
  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Client-side Architecture - Android -
     ngCore Runtime for Android

                                     JavaScript Engine (V8 Engine)
                                                        v8::Function::Call()


                               Native-side                                       Java-side
                              Runtime Logic                                    Runtime Logic
Physics (Box2D)
Storage (sqlite3)                                                                       Audio
Network (libcurl)                                                 Graphics              Device
                                                                  (OpenGLES)            UI (android.widget)
                            Library

                                                                                   Android
                                                                                APP-FW (Java)

                                                            Android


     Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Client-side Architecture - iOS -
     ngCore Runtime for iOS

                                                  JavaScript Engine


                                                                        UIWebView
                                                                        stringByEvaluatingJavaScriptFromString()
                              Runtime Logic

Physics (Box2D)
Storage (sqlite3)                                                   Audio
                                                                    Device
                            Library                                 Graphics (OpenGLES)
                                                                    Network
                                                                    UI (UIKit)


                                                                            JavaScriptCore
                                                                  iOS
                                                                           (in UIWebView)

     Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Client-side Architecture - Flash -
    ngCore Runtime for Flash

                                                  JavaScript Engine



                                                                         ExternalInterface.call()
                              Runtime Logic


Physics (Box2D)
                                                                  Audio
                                                                  Graphics
                            Library                               Network
                                                                  Storage
                                                                  UI (Flex UIComponent)


                                         Flash Player / Web Browser


     Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
3. How to develop application
                     with ngCore




Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Mobage SDK
 JavaScript APIs to access the key features
     ngCore Game Tech
     Social Game Services
     Currency & Commerce Services
     Advertising Services
     Analytics Services
 Development toolkit
     Runtime (ngCore Binary for Android/iOS/Flash)
     Instant app-hosting server for development
     Limited Mobage Application (w/ UI for developer facing service)
     Application packaging tool

 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Mobage SDK (as of v0.9)
  JavaScript APIs to access the key features
      ngCore Game Tech
      Social Game Services
      Currency & Commerce Services
      Advertising Services
      Analytics Services
  Development toolkit
      Runtime (ngCore Binary for Android/iOS/Flash)
      Instant app-hosting server for development
      Limited Mobage Application (w/ UI for developer facing service)
      Application packaging tool

  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
環境構築
 必要物資
     MacOSX Snow Leopard(10.6.X) with Internet
          実は Win, Linuxでも…
 To your PC
     Install Eclipse, Android SDK
     Install XCode, iOS SDK
     Install node.js
     Install(=unzip) Mobage SDK
 To your device
     Install Runtime apk / app

 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
開発手順 (デモ)
 App Hosting Server 起動
     $ cd ~/SDK
     $ make server
     Server running at http://localhost:8002/

 動作確認
     Flash
     Android
     iOS


 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
4. Inside of ngCore-based application




Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
標準Module群
 Core
 GL2                                        (2D Graphics)
 Audio                                      (Music, Effect)
 Device                                     (各種状態通知, Location, …)
 Network                                    (XHR, Downloader)
 Physics2                                   (2D Physics)
 Storage                                    (FS, Key-Value Store)
 UI                                         (UI Widget)
 Localization                               (Coming soon…)

 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
JavaScript
  提供Moduleは, CommonJS Modules 1.0 に
  準拠
      exports.add = function() { /* impl */ };
      var add = require(‘math’).add;

  各ngCore Runtime中のJavaScript Engine は
  ECMAScript 3rd準拠
      Android : V8 Engine
      iOS : JavaScriptCore


  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Application Structure (1/3)
 function main() {
          // initialize and start glview
          var glView = new UI.GLView();
          glView.onload = function() {
                      gameInit();
          };
          glView.setAttribute(…);

                // Add a back button.
                var back = new UI.Button();
                back.setNormalText('x');
                back.setFrame([10, 10, 64, 64]);
                back.onclick = function() {
                         var LGL = LocalGameList;
                         LGL.runUpdatedGame('/Samples/Launcher');
                };
                NGWindow.document.addChild(back);
 }


     Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Application Structure (2/3)
 var Tank = Core.MessageListener.subclass({
         initialize: function() {
                    // Create a node to house everything.
                    this._node = new GL2.Node();
                    this._node.setPosition(...);
                    // Create body.
                    this._sprite = new GL2.Sprite();
                    this._sprite.setAnimation(a, t);
                    this._node.addChild(this._sprite);
                    // Create touch target.
                    this._target = new GL2.TouchTarget();
                    this._target.setAnchor(...);
                    this._target.setSize(...);
                    this._target.getTouchEmitter().addListener(this, this.onTouch);
                    this._node.addChild(this._target);
                    // Set to be notified on update.
                    Core.UpdateEmitter.addListener(this, this.onUpdate);
         },
         …
   Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Application Structure (3/3)
              destroy: function() { ... },
              setPosition: function(x, y) { … },
              getNode: function() { … },

              onUpdate: function(delta) {
                      ...
                      var p = this._node.getPosition();
                      p.setX(p.getX() + this._vx * delta);
                      p.setY(p.getY() + this._vy * delta);
                      ...
                      this._node.setPosition(p);
              },

              onTouch: function(touch) {
                      ...
              },
 });
 アプリケーションの構造は, Android/iOSアプリ風に
   Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
描画パフォーマンス (2011/02/11版)
 ベンチマークアプリ
     64 x 64の画像で構成されるTankを、アニメーションさせながら
     動かすアプリ
     Tankの数によるフレームレートの変化をざっくり計測
 以下の3方式で比較
     Native OpenGL ES (Java / Objective-C)
     ngCore JavaScript
     JavaScript + Canvas
 環境は以下の通り
     端末: Desire HD, Nexus S / iPhone 3GS, iPhone 4
     Mobage SDK バージョン : 0.9

 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Performance
      HTC Desire HD の場合
fps
 60                                                                                        Java
                                                                                         ngCore
 50
                                                                            JavaScript + Canvas
 40

 30

 20

 10

         1        10               100                     200        300          400            500
                                                             Tankの数
      Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Performance
      Samsung Nexus S の場合
fps
 60                                                                                        Java
                                                                                         ngCore
 50
                                                                            JavaScript + Canvas
 40

 30

 20

 10

         1        10               100                     200        300          400            500
                                                             Tankの数
      Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Performance
      iPhone 3GS の場合
fps
 60                                                                                 Objective-C
                                                                                         ngCore
 50
                                                                            JavaScript + Canvas
 40

 30
         参考: JavaScript + CSS
 20

 10

         1        10               100                     200        300          400            500
                                                             Tankの数
      Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Performance
      iPhone 4 の場合
fps
 60                                                                                 Objective-C
                                                                                         ngCore
 50
                                         ここなら十分作れる
                                         ここなら十分作れる
                                             十分作れる!!                        JavaScript + Canvas
 40

 30
                                                                   もちろん底上げも
                                                                   もちろん底上げも
                                                                       底上
 20            参考: JavaScript + CSS
                       従来ここでがんばっていた・・・
                       従来ここでがんばっていた・・・
                         ここでがんばっていた
 10

         1        10               100                     200        300          400            500
                                                             Tankの数
      Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
5. Next step




Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
As Social Game SDK
  Social Game ならではの API の提供
      Social Game Services
      Currency & Commerce Services
      Advertising Services
      Analytics Services
  対応機能の拡大
      3D Support など
  開発ツールの充実

 ngCore ⊂ Mobage SDK, a Social Game SDK
  Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
標準Moduleとして提供されていない機能
 シーン管理             Dn.SceneDirector
 高レベルタッチイベント処理     Dn.TouchHandler
 JSONベースの画面構築          Dn.UIBuilder
 ゲーム独自フォント     Dn.ImageFontFactory
 エフェクト処理                   Dn.VFX
 ・・・                            ・・・

SG開発で欲しい機能のうち DeNA内製SG開発の
  現在提供されていない  過程で生まれた機能は,
   機能はまだまだ多い   DnLibとして公開中
 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
6. Summary




Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
Summary
 X-Platform development with ngCore
     Web app-like development style with JavaScript
     Android/iOS-like app structure
     Performance for enough UX on Smartphone
     Now on growing up !!

 Why don’t we release our games to
 50 million users with this X-Platform app
 dev solution ?

 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
ご清聴ありがとうございました !!



                                                       Get Mobage SDK with ngCore
                                                      http://developer.mobage.com/
 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.

More Related Content

Viewers also liked

Logistical Efficiencies
Logistical EfficienciesLogistical Efficiencies
Logistical EfficienciesMelvin Carter
 
Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?LivePerson
 
Position paper
Position paperPosition paper
Position paperhmoulds
 
Dave Briggs - Engaging School Governors Online
Dave Briggs - Engaging School Governors OnlineDave Briggs - Engaging School Governors Online
Dave Briggs - Engaging School Governors OnlineElaine Walton
 
Designing communicating objects, bu Paolo Volonté
Designing communicating objects, bu Paolo VolontéDesigning communicating objects, bu Paolo Volonté
Designing communicating objects, bu Paolo Volontégueste474cb0
 
지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGL지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGLJun Ho Lee
 
Watch Ironman Again! And Learn 5 Awesome Lessons!
Watch Ironman Again! And Learn 5 Awesome Lessons!Watch Ironman Again! And Learn 5 Awesome Lessons!
Watch Ironman Again! And Learn 5 Awesome Lessons!Andeel Ali
 
SBS2008の管理のポイント
SBS2008の管理のポイントSBS2008の管理のポイント
SBS2008の管理のポイントMasaya Sawada
 
Professional Catering Equipment
Professional Catering EquipmentProfessional Catering Equipment
Professional Catering Equipmentbogipan
 
Leadership Skills Elucidated!
Leadership Skills Elucidated!Leadership Skills Elucidated!
Leadership Skills Elucidated!Andeel Ali
 
презентация я и вика
презентация   я и викапрезентация   я и вика
презентация я и викаdianaivika
 
Роль смартфонов на пути к покупке средств по уходу за кожей 2016
Роль смартфонов на пути к покупке средств по уходу за кожей 2016Роль смартфонов на пути к покупке средств по уходу за кожей 2016
Роль смартфонов на пути к покупке средств по уходу за кожей 2016Segrey Nikishov - @n_grey
 
Презентация группы компаний ФЕРТ
Презентация группы компаний ФЕРТПрезентация группы компаний ФЕРТ
Презентация группы компаний ФЕРТFert
 

Viewers also liked (20)

Logistical Efficiencies
Logistical EfficienciesLogistical Efficiencies
Logistical Efficiencies
 
Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?
 
Position paper
Position paperPosition paper
Position paper
 
Globalinvacom
GlobalinvacomGlobalinvacom
Globalinvacom
 
Dave Briggs - Engaging School Governors Online
Dave Briggs - Engaging School Governors OnlineDave Briggs - Engaging School Governors Online
Dave Briggs - Engaging School Governors Online
 
Praktijkervaring met het stappenplan Duurzaam Beheer en Onderhoud
Praktijkervaring met het stappenplan Duurzaam Beheer en OnderhoudPraktijkervaring met het stappenplan Duurzaam Beheer en Onderhoud
Praktijkervaring met het stappenplan Duurzaam Beheer en Onderhoud
 
Designing communicating objects, bu Paolo Volonté
Designing communicating objects, bu Paolo VolontéDesigning communicating objects, bu Paolo Volonté
Designing communicating objects, bu Paolo Volonté
 
지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGL지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGL
 
Watch Ironman Again! And Learn 5 Awesome Lessons!
Watch Ironman Again! And Learn 5 Awesome Lessons!Watch Ironman Again! And Learn 5 Awesome Lessons!
Watch Ironman Again! And Learn 5 Awesome Lessons!
 
SBS2008の管理のポイント
SBS2008の管理のポイントSBS2008の管理のポイント
SBS2008の管理のポイント
 
Professional Catering Equipment
Professional Catering EquipmentProfessional Catering Equipment
Professional Catering Equipment
 
Family Court
Family CourtFamily Court
Family Court
 
Leadership Skills Elucidated!
Leadership Skills Elucidated!Leadership Skills Elucidated!
Leadership Skills Elucidated!
 
"Prototype Everything" at The conference(19/Aug/2014,Malmo,Sweden) by @tks
"Prototype Everything"  at The conference(19/Aug/2014,Malmo,Sweden)  by @tks"Prototype Everything"  at The conference(19/Aug/2014,Malmo,Sweden)  by @tks
"Prototype Everything" at The conference(19/Aug/2014,Malmo,Sweden) by @tks
 
Duurzaamheid in meerjarenonderhoudsplanning
Duurzaamheid in meerjarenonderhoudsplanningDuurzaamheid in meerjarenonderhoudsplanning
Duurzaamheid in meerjarenonderhoudsplanning
 
Erkende maatregelen uit het Activiteitenbesluit
Erkende maatregelen uit het Activiteitenbesluit Erkende maatregelen uit het Activiteitenbesluit
Erkende maatregelen uit het Activiteitenbesluit
 
100% duurzaam inkopen in de praktijk van de rijkskantoren
100% duurzaam inkopen in de praktijk van de rijkskantoren100% duurzaam inkopen in de praktijk van de rijkskantoren
100% duurzaam inkopen in de praktijk van de rijkskantoren
 
презентация я и вика
презентация   я и викапрезентация   я и вика
презентация я и вика
 
Роль смартфонов на пути к покупке средств по уходу за кожей 2016
Роль смартфонов на пути к покупке средств по уходу за кожей 2016Роль смартфонов на пути к покупке средств по уходу за кожей 2016
Роль смартфонов на пути к покупке средств по уходу за кожей 2016
 
Презентация группы компаний ФЕРТ
Презентация группы компаний ФЕРТПрезентация группы компаний ФЕРТ
Презентация группы компаний ФЕРТ
 

Similar to 【17-A-6】X-Platform Development with ngCore

Code and Conquer with Globe Labs, October 27, 2012
Code and Conquer with Globe Labs, October 27, 2012Code and Conquer with Globe Labs, October 27, 2012
Code and Conquer with Globe Labs, October 27, 2012jobandesther
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile DrupalTwinbit
 
Mobile Apps - The Business & Technology
Mobile Apps - The Business & TechnologyMobile Apps - The Business & Technology
Mobile Apps - The Business & TechnologyAndri Yadi
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionXamarin
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile DevelopmentFoteini Valeonti
 
Mobile web literature
Mobile web literatureMobile web literature
Mobile web literatureSandeep Supal
 
Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Belen Barros Pena
 
Fragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionFragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionBelen Barros Pena
 
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile SolutionsBuilding Cross Platform Mobile Solutions
Building Cross Platform Mobile SolutionsQframe
 
AppZero & HyNote: Move EPM to/from Cloud w/ a Click
AppZero & HyNote: Move EPM to/from Cloud w/ a ClickAppZero & HyNote: Move EPM to/from Cloud w/ a Click
AppZero & HyNote: Move EPM to/from Cloud w/ a ClickAppZero
 
Mobile Development Platforms
Mobile Development PlatformsMobile Development Platforms
Mobile Development PlatformsAndri Yadi
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Michael Kozloff
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionMarco Tabor
 
Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?adityakumar2080
 
How effective is Swift’s AR technology in developing.pdf
How effective is Swift’s AR technology in developing.pdfHow effective is Swift’s AR technology in developing.pdf
How effective is Swift’s AR technology in developing.pdfMindfire LLC
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platformi4consulting.org
 
Forrester reviews the KonyOne platform
Forrester reviews the KonyOne platformForrester reviews the KonyOne platform
Forrester reviews the KonyOne platformKony, Inc.
 

Similar to 【17-A-6】X-Platform Development with ngCore (20)

Code and Conquer with Globe Labs, October 27, 2012
Code and Conquer with Globe Labs, October 27, 2012Code and Conquer with Globe Labs, October 27, 2012
Code and Conquer with Globe Labs, October 27, 2012
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile Drupal
 
Mobile Apps - The Business & Technology
Mobile Apps - The Business & TechnologyMobile Apps - The Business & Technology
Mobile Apps - The Business & Technology
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Abeer_abdelsamee CV
Abeer_abdelsamee CVAbeer_abdelsamee CV
Abeer_abdelsamee CV
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 Introduction
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
Mobile web literature
Mobile web literatureMobile web literature
Mobile web literature
 
Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?
 
Fragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionFragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fiction
 
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile SolutionsBuilding Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
 
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile SolutionsBuilding Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
 
AppZero & HyNote: Move EPM to/from Cloud w/ a Click
AppZero & HyNote: Move EPM to/from Cloud w/ a ClickAppZero & HyNote: Move EPM to/from Cloud w/ a Click
AppZero & HyNote: Move EPM to/from Cloud w/ a Click
 
Mobile Development Platforms
Mobile Development PlatformsMobile Development Platforms
Mobile Development Platforms
 
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
Octopod Mobile Development Platform for rapid cross-platform Enterprise IT Mo...
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th edition
 
Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?Is Ionic good for Mobile app development?
Is Ionic good for Mobile app development?
 
How effective is Swift’s AR technology in developing.pdf
How effective is Swift’s AR technology in developing.pdfHow effective is Swift’s AR technology in developing.pdf
How effective is Swift’s AR technology in developing.pdf
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
Forrester reviews the KonyOne platform
Forrester reviews the KonyOne platformForrester reviews the KonyOne platform
Forrester reviews the KonyOne platform
 

More from Developers Summit

【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」Developers Summit
 
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~Developers Summit
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~Developers Summit
 
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみるDevelopers Summit
 
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。Developers Summit
 
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦Developers Summit
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツールDevelopers Summit
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツールDevelopers Summit
 
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)Developers Summit
 
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~Developers Summit
 
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えしますDevelopers Summit
 
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流Developers Summit
 
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~Developers Summit
 
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例Developers Summit
 
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~Developers Summit
 
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜Developers Summit
 
【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介Developers Summit
 
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習Developers Summit
 
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道Developers Summit
 
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略Developers Summit
 

More from Developers Summit (20)

【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
【18-A-2】ゲーミフィケーション・エバンジェリストが見る「あなたの技術力が“ワクワクするサービス”に変わる未来」
 
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・小林様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
【B-4】オープンソース開発で、フリー静的解析ツールを使ってみる
 
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
【B-6】Androidスマホの生体認証の脆弱性、調べてみたらよくある話だった。
 
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
【13-B-6】Hondaの生産技術屋さんがソフトウェア開発でアジャイルを初導入し組織変革に挑戦
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
 
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
【15-E-7】セキュアな環境でDevOpsを実現する厳選ツール
 
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
【14-E-3】セキュリティ・テストの自動化によるDevSecOpsの実現 (デモ有)
 
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
【15-D-2】デンソーのMaaS開発~アジャイル開発で顧客との協調・チームビルディング・実装概要~
 
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
【14-C-8】みんなの暮らしを支えるAmazon S3の裏側、お伝えします
 
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
【14-C-7】コンピュータビジョンを支える深層学習技術の新潮流
 
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
 
【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例【15-A-1】ドラゴンクエストXを支える失敗事例
【15-A-1】ドラゴンクエストXを支える失敗事例
 
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
【15-A-5】ゲーミフィケーションエバンジェリストが説く、アプリ開発で見落としがちな「おもてなし」とは~面白さを伝える × 面白く魅せる~
 
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
【B-2】福岡発Node.jsで支える大規模システム!〜「誰ガ為のアルケミスト」と歩んだ三年〜
 
【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介【B-5】モダンな開発を実現するツールチェーンのご紹介
【B-5】モダンな開発を実現するツールチェーンのご紹介
 
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
【C-2】メモリも、僕のキャパシティも溢れっぱなし。。2年目エンジニアが実現した機械学習
 
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
【A-2】とあるマーケティング部隊とデータエンジニアのデータドリブンへの道
 
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略
 

【17-A-6】X-Platform Development with ngCore

  • 1. Developer Summit 2011 X-Platform Development with ngCore Kazuhiro KONDO kondo.kazuhiro@dena.jp DeNA, inc Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 2. はじめに 本日のお題は “Smartphone X-Platform Development” X-Platform == “X-Device” Platform == “Android” || “iOS” Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 3. 自己紹介 近藤 和弘 (33) 所属 株式会社ディー・エヌ・エー ソーシャルメディア事業本部ソーシャルゲーム統括部 スマートフォン開発グループ グループリーダー 略歴 ‘02/03 大阪大学大学院基礎工学研究科修士課程修了 ‘02/04 ソニー(株)入社 ’02/04 ソニーエリクソン・モバイルコミュニケーションズ(株)に出向 ‘07/04 ソニーエリクソン・モバイルコミュニケーションズ(株)に転籍 ‘10/10 株式会社ディー・エヌ・エーに転職 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 4. Contents 1. What can ngCore do ? 2. Architecture of ngCore 3. How to develop application with ngCore 4. Inside of ngCore-based application 5. Next step 6. Summary Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 5. 1. What can ngCore do ? Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 6. Quiz Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 7. Answer × × ○ ○ Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 8. Tap Slash Ninja Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 9. Demo Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 10. Capability Possible Possible Coming Coming Soon ! Soon ! Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 11. Why ngCore ? ngCore is a technology for ”Social Game on Smartphone” Quick development High-quality UX on X-Platform for Smartphone Social Gameの成功には Smartphoneユーザは、 クイックなアップデートが必須 SmartphoneレベルのUXを求める できるだけ多くのユーザを集めるには 実装手法は言い訳にならない X-Platform性も重要 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 12. 2. Architecture of ngCore Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 13. Mobage Service Architecture 国内) モバゲータウン (国内) Mobage JP Local API Common API US Local API サービス サービスAPI サービス サービスAPI サービス サービスAPI サービス for Android for ngCore for iOS アプリ Androidアプリ ngCore アプリ アプリ iOSアプリ アプリケーション (Java) ) (JavaScript) ) (Objective-C) ) ngCore エンジン OS Android iOS Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 14. ngCore Overall Architecture Mobage App Hosting Server ngCore-based Apps (JavaScript) ngCore Modules (JavaScript) Android Apps ngCore ngCore iOS Apps Runtime Runtime for Android for iOS Android (C++) (Obj-C) APP-FW (Java) Android iOS (C++) (Obj-C) Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 15. Application Packaging & Release Androidの場合 の iOSの場合 の Mobage App Hosting Server App-A App-B App-A App-B ngCore Runtime ngCore Runtime for Android for Android App-A.app App-B.app App-A App-B ngCore Runtime for Android MobageApp.apk App-A.app App-B.app Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 16. Client-side Architecture - Android - ngCore Runtime for Android JavaScript Engine (V8 Engine) v8::Function::Call() Native-side Java-side Runtime Logic Runtime Logic Physics (Box2D) Storage (sqlite3) Audio Network (libcurl) Graphics Device (OpenGLES) UI (android.widget) Library Android APP-FW (Java) Android Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 17. Client-side Architecture - iOS - ngCore Runtime for iOS JavaScript Engine UIWebView stringByEvaluatingJavaScriptFromString() Runtime Logic Physics (Box2D) Storage (sqlite3) Audio Device Library Graphics (OpenGLES) Network UI (UIKit) JavaScriptCore iOS (in UIWebView) Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 18. Client-side Architecture - Flash - ngCore Runtime for Flash JavaScript Engine ExternalInterface.call() Runtime Logic Physics (Box2D) Audio Graphics Library Network Storage UI (Flex UIComponent) Flash Player / Web Browser Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 19. 3. How to develop application with ngCore Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 20. Mobage SDK JavaScript APIs to access the key features ngCore Game Tech Social Game Services Currency & Commerce Services Advertising Services Analytics Services Development toolkit Runtime (ngCore Binary for Android/iOS/Flash) Instant app-hosting server for development Limited Mobage Application (w/ UI for developer facing service) Application packaging tool Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 21. Mobage SDK (as of v0.9) JavaScript APIs to access the key features ngCore Game Tech Social Game Services Currency & Commerce Services Advertising Services Analytics Services Development toolkit Runtime (ngCore Binary for Android/iOS/Flash) Instant app-hosting server for development Limited Mobage Application (w/ UI for developer facing service) Application packaging tool Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 22. 環境構築 必要物資 MacOSX Snow Leopard(10.6.X) with Internet 実は Win, Linuxでも… To your PC Install Eclipse, Android SDK Install XCode, iOS SDK Install node.js Install(=unzip) Mobage SDK To your device Install Runtime apk / app Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 23. 開発手順 (デモ) App Hosting Server 起動 $ cd ~/SDK $ make server Server running at http://localhost:8002/ 動作確認 Flash Android iOS Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 24. 4. Inside of ngCore-based application Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 25. 標準Module群 Core GL2 (2D Graphics) Audio (Music, Effect) Device (各種状態通知, Location, …) Network (XHR, Downloader) Physics2 (2D Physics) Storage (FS, Key-Value Store) UI (UI Widget) Localization (Coming soon…) Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 26. JavaScript 提供Moduleは, CommonJS Modules 1.0 に 準拠 exports.add = function() { /* impl */ }; var add = require(‘math’).add; 各ngCore Runtime中のJavaScript Engine は ECMAScript 3rd準拠 Android : V8 Engine iOS : JavaScriptCore Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 27. Application Structure (1/3) function main() { // initialize and start glview var glView = new UI.GLView(); glView.onload = function() { gameInit(); }; glView.setAttribute(…); // Add a back button. var back = new UI.Button(); back.setNormalText('x'); back.setFrame([10, 10, 64, 64]); back.onclick = function() { var LGL = LocalGameList; LGL.runUpdatedGame('/Samples/Launcher'); }; NGWindow.document.addChild(back); } Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 28. Application Structure (2/3) var Tank = Core.MessageListener.subclass({ initialize: function() { // Create a node to house everything. this._node = new GL2.Node(); this._node.setPosition(...); // Create body. this._sprite = new GL2.Sprite(); this._sprite.setAnimation(a, t); this._node.addChild(this._sprite); // Create touch target. this._target = new GL2.TouchTarget(); this._target.setAnchor(...); this._target.setSize(...); this._target.getTouchEmitter().addListener(this, this.onTouch); this._node.addChild(this._target); // Set to be notified on update. Core.UpdateEmitter.addListener(this, this.onUpdate); }, … Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 29. Application Structure (3/3) destroy: function() { ... }, setPosition: function(x, y) { … }, getNode: function() { … }, onUpdate: function(delta) { ... var p = this._node.getPosition(); p.setX(p.getX() + this._vx * delta); p.setY(p.getY() + this._vy * delta); ... this._node.setPosition(p); }, onTouch: function(touch) { ... }, }); アプリケーションの構造は, Android/iOSアプリ風に Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 30. 描画パフォーマンス (2011/02/11版) ベンチマークアプリ 64 x 64の画像で構成されるTankを、アニメーションさせながら 動かすアプリ Tankの数によるフレームレートの変化をざっくり計測 以下の3方式で比較 Native OpenGL ES (Java / Objective-C) ngCore JavaScript JavaScript + Canvas 環境は以下の通り 端末: Desire HD, Nexus S / iPhone 3GS, iPhone 4 Mobage SDK バージョン : 0.9 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 31. Performance HTC Desire HD の場合 fps 60 Java ngCore 50 JavaScript + Canvas 40 30 20 10 1 10 100 200 300 400 500 Tankの数 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 32. Performance Samsung Nexus S の場合 fps 60 Java ngCore 50 JavaScript + Canvas 40 30 20 10 1 10 100 200 300 400 500 Tankの数 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 33. Performance iPhone 3GS の場合 fps 60 Objective-C ngCore 50 JavaScript + Canvas 40 30 参考: JavaScript + CSS 20 10 1 10 100 200 300 400 500 Tankの数 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 34. Performance iPhone 4 の場合 fps 60 Objective-C ngCore 50 ここなら十分作れる ここなら十分作れる 十分作れる!! JavaScript + Canvas 40 30 もちろん底上げも もちろん底上げも 底上 20 参考: JavaScript + CSS 従来ここでがんばっていた・・・ 従来ここでがんばっていた・・・ ここでがんばっていた 10 1 10 100 200 300 400 500 Tankの数 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 35. 5. Next step Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 36. As Social Game SDK Social Game ならではの API の提供 Social Game Services Currency & Commerce Services Advertising Services Analytics Services 対応機能の拡大 3D Support など 開発ツールの充実 ngCore ⊂ Mobage SDK, a Social Game SDK Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 37. 標準Moduleとして提供されていない機能 シーン管理 Dn.SceneDirector 高レベルタッチイベント処理 Dn.TouchHandler JSONベースの画面構築 Dn.UIBuilder ゲーム独自フォント Dn.ImageFontFactory エフェクト処理 Dn.VFX ・・・ ・・・ SG開発で欲しい機能のうち DeNA内製SG開発の 現在提供されていない 過程で生まれた機能は, 機能はまだまだ多い DnLibとして公開中 Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 38. 6. Summary Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 39. Summary X-Platform development with ngCore Web app-like development style with JavaScript Android/iOS-like app structure Performance for enough UX on Smartphone Now on growing up !! Why don’t we release our games to 50 million users with this X-Platform app dev solution ? Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.
  • 40. ご清聴ありがとうございました !! Get Mobage SDK with ngCore http://developer.mobage.com/ Copyright (c) 1999-2010 DeNA Co.,Ltd. All rights reserved.