Skip to end of metadata
Go to start of metadata

This page lists the platform-specific resources to help you easily build Crosslight-powered apps on the platforms you prefer. You can quickly find guides relating to understanding navigation pattern on each platform, working with data components, using the form builder, MVVM-enabled view components, and much more.

With Crosslight, you can reuse nearly 96% of your application codebase, including domain models, business logics, data access layer, mobile services, as well as user interaction logics such as screen navigation and data validation. For more information about Crosslight architecture and how it works, please refer to Understanding Crosslight Architecture and Fundamentals.

Built with solid design pattern, Crosslight maximizes code reusability at the ViewModel layer – thus minimizes the code required in the view layer that reside in each native platform. The view layer comprised of UI components and controllers that are specific to each platform. In addition to foundation components, Crosslight also includes view layers for each platform which have been designed with built-in MVVM and data binding capability. This enables you to implement the views with a simple constructor definition. Furthermore, most of the Crosslight view components can be easily customizable through simple property sets.

On this page:

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 OnInitializeOnStartOnPauseOnResume 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
     
In MVVM design pattern, user interaction logics are completely separated from the view for maximum reusability. You typically write user interaction logics in the ViewModel, not in the view layer. The platform-specific data view components are designed solely for view-specific customizations such as the behaviors, styles and appearance of the view. If you are new to Crosslight, you may want to start from Crosslight Mobile Development Guides.

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
      
In MVVM design pattern, user interaction logics are completely separated from the view for maximum reusability. You typically write user interaction logics in the ViewModel, not in the view layer. The platform-specific data view components are designed solely for view-specific customizations such as the behaviors, styles and appearance of the view. If you are new to Crosslight, you may want to start from Crosslight Mobile Development Guides.

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.