Overview
This section overviews the features and architecture design that are common to all platforms despite of their native API differences. It’s particularly important to understand that Crosslight wasn’t designed to unify the presentation and view technologies of these different platforms which could lead to platform confusion and erroneous architectural impact. Instead, Crosslight abstracts out the common user interaction layer of each platform while leaving the native view technologies intact. In other words, Crosslight lets you create apps using the view technologies that were native to each platform – while at the same time allowing you to write application logic once and maximize code sharing up to 96% high.
As the results, Crosslight promotes mobile apps development that conforms to platform’s guidelines and user experiences design best practices. This means that designers can focus on the UI design and apply it using the platform guidance without affecting the code-level and functionality development. For instance, iOS designers can create themes which can be later applied using iOS Appearance API. Android designers can create themes using Android Studio and later easily apply them in the Resources. The same way applies to Windows platforms where designers typically use Blend to create the XAML styles which can be easily applied later on without affecting the overall application functionality.
In general, Crosslight platforms API are engineered in consistent fashion despite of the differences exposed in each native platform.
- Elegant and developer-friendly API design
Optimized for each platform, Crosslight uses standard naming convention and semantics according to the platform guidelines. Instead of using product specific prefixes, Crosslight uses simple and elegant naming that are intuitive to developers. - MVVM-enabled view context
At the heart of Crosslight platforms is the view context classes which facilitate the communication between view and ViewModel. View context extends the platform-specific classes with fully-baked ViewModel infrastructure, thus hides the programming complexity behind the scene and enables developers to quickly create views in zero or minimal code. - Consistent view life cycle
Despite of the view technology differences, Crosslight’s view components have consistent life cycle across all supported platforms – thanks to the solid view context abstraction in Crosslight. You can simply override the appropriate methods -- such as InitializeView or OnViewCreated to customize certain behaviors of the views. - Unified application framework and services life cycle
Crosslight apps on all platforms share a common application service and perform the main events in identical life cycle. This means that Crosslight apps – regardless of the platform – starts its life from OnInitialize, OnStart, OnPause, OnResume and ends in OnStop. - Smart object disposal
Crosslight platforms smartly track all objects it require to make data binding and MVVM possible in iOS and Android. Deeply integrated to the native platform, Crosslight responds to memory warning events and smartly disposes objects that are no longer required in certain conditions such as when the view context was detached. - Optimized for performance
Crosslight platforms used only native API that result in the best performance possible which deliver remarkably smooth user experiences. In addition, Crosslight leverages native UI virtualization whenever possible for blazing-fast scrolling performance -- all without trading off great functionalities such as item template customization and data binding.
The following illustration overviews the key features described above and shows the basic concept of view context which is crucial in building cross-platform mobile apps with Crosslight.
As seen in the above illustration, despite of the differences in the view technologies across multiple platforms, they are unified through the view context in Crosslight. To see how view context relates to the screen navigation, see Understanding Crosslight Navigation Services.
With Crosslight and MVVM design pattern, building even for a single platform is dramatically easier, faster, and more appealing than the platform's native design pattern. To learn more about Crosslight application life cycle, see Crosslight Application Services and Lifecycle.
Data Presentation
Presenting data is one of the most common tasks in data-driven applications. Crosslight platforms include base classes and pre-built components that let you easily display data to your mobile apps with minimal code. Because Crosslight was designed to support four mobile platforms at once, the common data-aware features are consistently made available on-par to all supported platforms. For instance, if data grouping is available in iOS, then you can expect the same feature to be available in other platforms as well.
This page overviews the data presentation features available in Crosslight platforms.
In general, the data presentation features supported in Crosslight are:
- Simple data presentation
- Grouped data presentation
- List template and appearance customization
- List interaction mode support
- Search capability
- Cell template customization
- Cell styles customization
- Editing support
- Selection support including single and multiple selection
For more information on working with data in each respective platform, please refer to the following links:
Data Editing
In addition to data presentation, business apps typically allow users to make changes to the data – whether adding a new data, modifying or deleting an existing data. While the data editing itself is technically simple and straightforward, the user experiences of the editing flow are vary depending on the mobile platforms.
To streamline the data editing process, Crosslight has provided the user experiences guidelines for data editing that conforms to the each mobile platform’s design guidelines. The following illustration shows the data editing pattern in the supported platforms.
In general, the data editing features supported in Crosslight are:
- List editing
- Selection capturing, supporting both single and multiple selection.
- Delete action
- Bulk delete action
- Reorder action
- Custom actions
For more information about implementing data editing in each respective platform, please refer to the following links:
Platform-specific Libraries
To make cross-platform development a reality, Crosslight comes with platform-specific libraries featuring comprehensive view classes, components and APIs that support two-way data binding and MVVM design pattern. Follow the link below to get started with the platforms you're interested in.
Crosslight for Windows Phone
- Introduction to Windows Phone Development
- Crosslight UI Components for Windows Phone
- Getting Started with Crosslight for Windows Phone
- Understanding Windows Phone Navigation Pattern
- Displaying Data in Windows Phone
- Understanding Windows Phone Form Builder
- Understanding Windows Phone Mobile Services
- Understanding Windows Phone Presenter Services
Crosslight for Windows Store