Pooka SDK®  - pure native cross-platform app/game engine WeChat Twitter FaceBook
Pooka SDK Overview

Pooka SDK® - Pure Native Cross-platform App Engine

 Pure Native Cross-platform Application Engine for All Major Platforms (iOS, Android, Windows, macOS, UWP)


Pooka SDK is a cross-platform application software development kit (SDK), an app and game engine that can significantly reduce the cost of cross-platform app / game development and deployment.

Pooka SDK helps developers design their apps or games with a single shared code base to target all major desktop and mobile platforms. The apps or games generated by Pooka SDK is pure native application without resort to Web container, web-to-platform bridge, virtual machine or any extra runtime.

Platform Coverage

Windows Desktop

macOS

iOS

Android

Universal Windows Platform

Main Features

  • Pure native (C/C++) programming API with direct access to native platform API
  • Covers major desktop / mobile platforms (Windows, macOS, iOS, Android, Windows UWP)
  • Universal API in standard C/C++ makes cross-platform app / game development efficient
  • Intuitive and easy-learning framework suitable for developers of all skill levels
  • Virtualized presentation model makes fighting platform fragmentation easy and effective
  • 2D and 3D graphics directly powered by Hardware accelerated API like Vulkan, OpenGL or DirectX
  • 2D and 3D scene-graph rendering engine optimized for game development
  • Theme-able lightweight component helps building consistent GUI and branding contents.


Pooka SDK® - Technical Architecture Overview



Pure Native Programming Guarantees the Best App Performance

A comparison of technical approach for cross-platform application development

There are numbers of options for developers when choosing cross-platform application tools. These development tools can be categorized into few technical approaches. Choosing development tools without truly understanding the difference between each approach may result in going into a wrong direction or completing the application with tremendous over-budget.
The following chart shows overall pros and cons of each approach.

  Native App Hybrid App Web App
App Definition
 Native App
App is implemented by the development tools and language that the respective platform support. In most cases, App is developed by a native SDK provided by each platform.
 Hybrid App
App is powered by certain types of content layout language such as HTML5/CSS and scripting language such as JavaScript but embedded inside a thin native container and packaged as a regular native app.
 Web App
App is powered by standard Web technologies including HTML5, JavaScript and CSS, usually runs directly inside a Web browser.
Packaging App Package File App Package File Web pages
Distribution App Store App Store Web / Browser
Programming Language Native programming language Scripting language Java Script
Content Layout Language Proprietary layout language HTML5/CSS or proprietary template HTML5/CSS
Learning Curve Difficult Moderate Easy
Development / Maintenance Cost High Moderate Low
Graphical Performance2 High Moderate Moderate
Overall Performance2 High Moderate Moderate
Access to Platform Features Full Access Full or Limited access. Very limited access
Best Used For Games, multimedia, real-time communication, or consumer-focused apps where performance, graphics, hardware access and overall user experience are critical Apps that do not have high performance requirements, but need to access certain device features and platform functions. Apps that do not have high performance requirements, and do not need any functions beyond web browser.

How Does Pooka SDK® Help Native App Development

When developing native application with Pooka SDK® instead of building them directly on platform API, Pooka SDK® helps in the following parts:

  • Reduce development cost
    • Universal API helps avoid learn each platform API
    • Intuitive API eases off the learning curve
    • Using single language C/C++ instead of each language required by platform API, such as C++, C#, Objective-C and Java1
  • Reduce maintenance cost
    • Single set of source code for all platforms
    • The bug-fix is usually effective to all platforms
    • Single set of application assets (image, sound, music, 3D model, etc.)
  • Accessing platform features and hardware functions remain possible
  • Overall application performance is not compromised

 Note 
1 Strictly, Java is an interpreted language rather than a native language. However, some modern mobile platforms like Android pre-compile the Java byte-code binary into native machine code, which makes Android application's performance close to a native Android application developed by NDK.
2 The performance difference can be significant if the application is graphics intensive or relies on heavy computing, such as game, video player or image editor. Otherwise, performance difference might not be noticeable, such as stock tracker app or weather forecast app.

Quick comparison of Pooka SDK and Other Cross-platform App / Game Development Tool

When choosing a cross-platform application or game development tool, there are lots of considerations for developers to take, such as:

  • Your existing programming skills
  • The purpose and end customers of your app or game
  • The project's target platforms
  • The project's time line and total budget
  • The project's upgrade and maintenance budget

While there numbers of cross-platform application and game development tools available on the market, there is no "best one" suitable for all kinds of development scenarios. Developers need to carefully find the one best suits their application or game project. The following chart is a quick comparison of some cross-platform application / game development tools (sometimes also called app builder or game engine)3:

⇓ Development Tool /
Game Engine
Native App or
Web App?
Best for What
Type of App?
Programming
Language
UI Component Access to
Native Platform API
Extra Runtime
Dependency
Supported Target
Platforms
Apache Cordova
(formerly PhoneGap)
Hybrid Web app4 Business apps JavaScript Native component in Web container Through Bridge
(Cordova plugin APIs)
WebKit enabled Web Container iOS, Android
Appcelerator Hybrid Web app4 Business apps JavaScript Native component in Web container Through bridge
(Appcelerator Hyperloop)
WebKit enabled Web Container iOS, Android, Windows Phone
FaceBook React Native Native app 2D mobile apps JavaScript
(with JSX Extension)
Native component Through bridge
(React Native Modules)
No All major mobile platforms
Xamarin Native app Business apps
2D games
C# Native component in Web container Through bridge
(Xamarin DependencyService)
Mono Runtime All major desktop and mobile platforms
Cocos2d Native app 2D games C++ (Cocos2d-x)
C# (Cocos2d-XNA)
JavaScript (Cocos2d-JS)
Objective-C (Cocos2d-Swift)
Python (Cocos2d-Python)
Sprite based Direct access to native API No All major mobile platforms
Unity Native app 3D games C#
(Boo and JavaScript deprecated)
Unity UI component Through bridge
(Unity native plugins)
Mono Runtime All major desktop and mobile platforms
Google Flutter Native app Business app Dart Native component Through bridge
(Flutter platform channels)
Dart VM
(with AOT and JIT options)
iOS, Android
Pooka SDK Native app Business app
2D & light weight 3D games
C++ Sprite based or
Pooka light-weight component
Direct access to native API No All major desktop and mobile platforms

 Note 
3 The comparison is based on information collected from each development tools' website or other related websites, there is no guarantee that the information listed here is updated and is 100% precise. For the latest details, visit their official website.

4 Hybrid Web apps are applications programmed by Web technologies (HTML5/CSS/JavaScript) and packaged as native application but the actual application content is contained inside a WebKit enabled WebView component. Hybrid Web apps are simply native applications with an embedded web browser to host the application content.

Pooka SDK is Engineered for Game Development

Besides being an app engine for developing cross-platform business applications, Pooka SDK is engineered with first-class support for game development, this can be proven by numbers of award-winning mobile games powered by Pooka SDK, such as OmniGSoft's City Stage (3D car racing) and Super-G Stunt (flight simulation).

To be a game engine, an application framework must have numbers of features needed for game development situation to make the production cycle efficient. All of these necessary functions are supported by Pooka SDK, include:

  • Uncompromised application run-time performance
    Pooka SDK and games it powers are programmed by C/C++ and therefore the games are first-class native apps running on the target platforms. The native machine code is executed directly on target devices and there is no virtual machine and language interpreter needed.
  • Built-in animation with precise timing control
    OGCanvas class and Timer class provide built-in animation support and timing control.
  • Multi-channel sound and music playback capability
    The Sound module enables playing sound effect and music
  • Sprite based graphical element for 2D game
    The Sprite class is dedicated to generate sprite based graphical element
  • A descriptive content layout template
    OmniG Template is Pooka SDK's proprietary layout format for efficient content layout
  • Drawable bitmap for generating 2D and 3D texture at play-time
    Bitmap class exposes its pixel data for modification so that its content can be dynamically generated on the fly.
  • Sprite based graphical user interface for 2D and 3D game
    The Sprite class and OmniG Template work together helps generate game UI efficiently.
  • Scene graph based content management and rendering pipeline
    The Scene class and Group class and their sub-classes work together help generate game content with hierarchical structure that makes game content manipulation efficient.
  • The capability of direct drawing in game canvas
    The GraphicsEngine class provides the capability of drawing 2D graphics directly in game canvas.
  • Game local high score management
    The ScoreBoard class provides local high score management.
  • TCP/IP communication and Http client for making online multi-player games
    The Socket class, HttpURLConnection class, HttpsURLConnection class and related classes provide real-time communication capability for making online multi-player games or play-head-to-head games.

2D game content by Scene Graph

3D game content by Scene Graph

3D game content by Scene Graph