Host platforms are the platforms under which developers design, build, debug, deploy their applications. The following two desktop operating system are recommended as host OSs for Pooka SDK® application development:
Note 1 - will be available when the support for ARM64 build tools integrated in the next Visual Studio update. 2 - removed from the current version of Pooka SDK®, available upon request.
SDK Architecture Diagram
Core Library - the core components needed to create a full functional cross-platform application, either graphics oriented or console-like application.
MiniSTL - the fundamental component related to type, data structure, string utilities, as well as anything unrelated to presentation and graphics.3
MiniAWT - the fundamental component that encapsulate window, view, controller, low-level user input, platform hardware and services access (sensor, game pad, geolocation). Some functions in this module may not be used directly by the application, instead, application use their higher level counterparts defined in module GraphicsApp module.
GraphicsApp - the most direct module that a cross-platform is driven by. It encapsulate the most important functions to create a cross-platform application, such as template based content, Sprite based 2D content, scene-graph based 3D content, light-weight component, high-level user input and so on.
GraphicsKernal - the underlying graphics engine that undertake the task of rendering the application content to the device display through platform native graphics API, such as OpenGL or DirectX. Pretty much like a graphics driver, most part of this module is designed as opaque and application developers do not need to consume this module directly.4
Network Extension - the extension library adding the networking capability to the application.
Socket - the component encapsulates the Berkeley sockets, providing a object oriented and platform independent socket programming interface.
Http Client - a cross-platform Http client module make development of Web-capable application easy and efficient.
Html / CSS - a miniature html layout engine support a subset of HTML 5 / CSS 3 layout, together with a light-weight Web container component, help present html document in application.5
Multi-player Game Utility - a group of multi-player game utilities easy off massive multi-player, real-time communication apps or online game.6
Note 3 - The name of "MiniSTL", as a "miniature STL library", is inspired by C++ standard template library. Though the module is not implemented as C++ template library. Application developers who has strong preference on a more powerful template library can use C++ Standard Template Library or Boost together with Pooka SDK®. 4 - A small 3D vector math library is provided in this module helps complete 3D mathematic computing. 5 - This module is powered by a tiny HTML/CSS rendering engine based on a modified open source project LiteHtml Layout engine (V0.3) with BSD license. To view the original license declared by the project author, visit the project's license page. 6 - In current version Pooka SDK®, multi-player game utility is provided as an experiement module, and shipped as source code within multi-player game sample project "Mini-Dogfight".