Skip to content
9miao Mobile Game edited this page Jun 24, 2014 · 2 revisions

CrossApp Intro

CrossApp, written in C++ and based on OpenGL ES 2.0 rendering, deploys MVC framework mode and is a free, open source and cross-platform mobile App development engine. CrossApp developed applications can be exported to major mobile platforms, it truly realizes the – one time coding, multiple running – cross-platform development technique.

CrossApp mainly is a 9miao.com self-developed product, and 9miao club officially formulates its basic framework and rudiment. 9miao club standing committee of contributors, voluntarily composed of elite developers from all sides, is jointly responsible for the future version’s update and maintenance works.

All Major Platforms Support
CrossApp supports major development platforms, and it could easily port applications to all platforms.

All Engine Content Open Source and Technical Support
CrossApp is a totally open source and free product, our official technical team provides freely technical supports for any CrossApp related problems that developers meet in development process.

Rich UI Controls
The encapsulation of a larger number of fully functional UI controls in CrossApp will significantly improve development efficiency. And we will continuously collect and update excellent controls that developers of community contributes.

Ancillary Editor
CrossApp provides freely related editors for developers, and 9miao technical team is in charge of the update and maintenance work.

Main Functionalities and Features

Main functionalities

1.Cross-Platform
CrossApp mainly supports the most mainstream mobile platform: iOS and Android for now, in the future version we will support more platforms.

Comparing to traditional iOS and Android native applications development, CrossApp has a shorter development cycle and lower cost privilege thanks to its cross-platform feature, thereby acting a relatively simple porting work after APP development could easily make it run on different platforms.

2.Integrating Some Third-party Libraries
The first edition CrossApp integrates some third-party libraries such as the common data analysis library jsoncpp, tinyxml, http etc. Meanwhile, by the translation of third-party library spidemonkey on CrossApp, it can directly use js script to write programs.

3.Based on OpenGL ES 2.0
Open GL ES 2.0 is adopted by CrossApp graphics rendering, its high rendering efficiency enables mobile device’s GPU to operate to its optimum efficiency.

Engine Features

1.Open Source
Open source is an idea that 9miao persistently pursues, naturally CrossApp also is an open source mobile App development engine. Developers could freely use CrossApp to produce any business projects without any misgivings whatsoever because of it’s based on the most flexible MIT open source protocols. 9miao club technical team is responsible for technical problem solution and support to any CrossApp related problems that developers meet in development process. (Please post your question at official website CrossApp zone, and we assure you that you will get our response in a short time)

We will continuously update CrossApp version: 9miao club and 9miao club standing committee of contributors (for short ‘9 contributor committee’) is jointly responsible for the future version’s update and maintenance works. We welcome all elite developers to join us to make their contribution for the further improvement of CrossApp. New version submitted by developers will be integrated into next release CrossApp version after it’s approved by 9miao official.

CrossApp osChina git: http://git.oschina.net/9miao/CrossApp
CrossApp GitHub: https://github.com/9miao/CrossApp

2.Rich UI Controls
CrossApp is designed to provide fast and efficient development solution for mobile application developers. On that basis, with the encapsulation of a large number of fully functional UI controls in CrossApp, developers can directly use these controls to produce applications. The controls basically meet most of functionality demands in development as well as save lots of time on UI controls encapsulation which further increases development efficiency. In the meantime CrossApp will integrate some excellent control resources provided by third-party developers for the further richness of its UI controls.

3.Ancillary Editor Support
Various editors’ support is crucial for fast and efficient development mode, in the first edition CrossApp we did not provide engine-related editor, but we plan to release editor in July, 2014 version update, which will help developer produce mobile app program in a faster and more convenient way.

Development Platform Comparison

Main techniques used in current mobile platform App development comparison (below chart)

Technique

 

Description

Mobile Web

Hybrid App

Interpreted App

Cross Compiling

Native App

Representative Products

HTML5/JQuery Mobile

PhoneGap

Titanium

CrossApp

IOS/Android

Cross-platform Performance

High

High

Medium

High

Low

Off-line Capacity

×

Threshold

Low

Low

Low

Low

High

Functionality

Weak

Medium

Medium

Strong

Strong

Conclusion from above chart:

1.Mobile Web
Web development technique, represented by HTML5 and JQuery, is purely browser based, so it does not have off-line capacity, let alone give full play to various platform’s functionalities and features.

2.Hybird App
Hybrid App, namely hybrid mode application, refers to app between web and native. It possesses some excellent UE of native App and cross-platform advantage of Web App, but is unable to efficiently manage memory and system resources on account of it’s still based on front end technique.

3.Interpreted App
It’s based on front end technique and also unable to efficiently manage memory and system resources.

4.Native App
Native development, represented by iOS and Android, has a higher cost in spite of it could achieve the best UE and optimizing. Comparing to cross-platform technique, Native development brings a lower actual benefit because of it barely supports cross-platform feature.

In conclusion, Native App and Cross compiling have higher overall efficiency. Developers should select suitable development solution according to actual situation and factors from all sides.

Development Mode Introduction

The development mode of CrossApp is various platforms sharing a full set of codes, and it realizes different platform running by adopting cross compiling method. CrossApp is MVC mode based and its object-oriented goal is to design program with low coupling and high cohesion feature, so the MVC mode provides us a great solution. Here the MVC capital letter respectively represent: model layer (Model), view layer (View) and controller layer (Controller), these three layers perform their duties and jointly maintain a complete application.

In CrossApp, Model layer refers to all kinds of data prototype, business logic and algorithm, and functionality implementation of App utterly depends on Model layer. View layer, just as the name suggests, is to display UI interface to users; Controller layer is responsible for linking up Model and View layer that have less correlation, transmits user’s operation to Model layer and displays them by controlling View layer. With CAView and rich UI controls, CrossApp could realize the View layer function, and finish Controller layer to realize the communication between Model and View through CAViewController and its child class.

What is CrossApp Style?

CrossApp is a system which will contain numerous theme styles and each one is a set of heavily customized UI controls library that includes what mobile application development requires. CrossApp dedicates to provide an efficient, fast and low cost development mode, and CrossApp Style follows the same original purpose, it will supply hundreds of set of controls theme library with all kinds of style for developers in the future, users can directly use them in development process without modification needs. CrossApp Style’s official self-developed theme styles will continuously grow, and meanwhile it willingly adopts more theme libraries provided by external developers.

CrossApp Style System

With a large amount of different style theme libraries it will have, CrossApp Style V0.1.11’s engine comes with CrossApp defaulted blue theme style. It will successively provide more theme styles over the next few weeks such as iOS style, ink painting style and pink Q style etc., and all theme styles of CrossApp Style consist of the three parts below: art design + interactive experience design + control encapsulation.


1.Art Design Resource (UI)
For all art design resource of theme style, users can find the corresponding one in CrossApp Style directory of CrossApp source codes.

2.User Experience (UE)
Generally product managers pursue best UE effect specific to every theme style, so in CrossApp Style we have strictly set standard on parameter specification of each theme’s element. (In addition, users are able to modify and customize on their own based on needs)

3.Controls encapsulation (code)
CrossApp Style did a secondary encapsulation on engine’s native UI controls and provides corresponding complete Demo template for every theme style, users can directly run them to view actual effect, use the theme styles in CrossApp Style to develop thanks to it significantly shortens the development cycle, and modify source codes’ corresponding port if they need to modify theme.

CrossApp Style Theme Style by Default

Design rendering of CrossApp theme style by default is shown below:

The actual effect of defaulted theme style in CrossApp demo is shown below (demo screenshots):


The first edition CrossApp defaulted theme style’s design is based on iPhone 5’s 640*1136 resolutions and supports self-adaption of different resolutions. Some UI’s basic design parameter is shown in below table:

CANavigationBar:

Width

Height

Top margin

Font size

640px

88px

41px

34px

CAButton:

Width

Height

Font size

Color value of not selectable state

Color value of selectable state

120px

58px

34px

#cccccc

#3399cc

CASwitch:

Width

Height

Switch button width

Switch button height

90px

46px

44px

44px

CAProgress:

Width

Height

Background color

500px

2px

#cccccc

CASlider:

Width

Height

Color value of slider frame

Switch button height

90px

46px

#cdf3ff

2px

CASegmentedControl:

Subitem width

Subitem height

Font size

120px

58px

28px

CAAlertView:

Color value of frame

Width

Background color value

Font size

Prompt message of input box

Input box frame

Input box width

Input box height

Button width

Button height

Button font size

#33ccff

540px

#fafafa

28px

#cccccc

#cccccc

468px

60px

220px

58px

34px

 

 

CATabBar:

Width

Height

Title font size

128px

98px

20px

Clone this wiki locally