Skip to end of metadata
Go to start of metadata

The Gold Standard for Enterprise Mobile Development Toolset is Here.


Welcome to Crosslight 4, the next-generation toolset for cross-platform mobile apps development. The biggest release since the initial version, Crosslight 4 introduces more than 12.000 new APIs, three times more than the previous release.

This release adds a comprehensive data visualization suite supporting 20+ chart types, a barcode scanner, a highly extensible logging framework featuring integration with Azure Application Insights, a gorgeous dialog presenter, as well as hundreds of major improvements in data access components and synchronization framework, and much more.

In addition, this release also introduces iOS storyboard support and many tooling support improvements, allowing you to design iOS views and work with Crosslight iOS components entirely in Xamarin Studio, whether in Mac or Windows.


Download Crosslight 4 today.



This page guides you through the new features and enhancements available in Crosslight 4. 
Click the links below to jump to the section of your interest.



In the past three releases, Crosslight provides a rock-solid foundation and a comprehensive set of services and highly functional components enabling you to build cross-platform mobile apps easier and faster than ever before with your favorite IDEs, Xamarin and Visual Studio. Crosslight successfully sets the bar for a rapid and enjoyable cross-platform mobile development.

Strongly focused on business-oriented components, much refined data access frameworks and improved tooling support, Crosslight 4 raises the bar even higher and sets the gold standard for cross-platform mobile development. With a multitude of new components and major improvements across all components and platforms, Crosslight will help you create amazing cross-platform apps in even shorter time with much reduced effort.


Even Smarter and More Powerful Crosslight Sync Framework

Data synchronization is the butter-and-bread of an enterprise-grade mobile application. It requires a forward-thinking architecture design that allows data sync to run in the most efficient manner, one that is fast enough to process the sync changes, smart enough to know which data should be prioritized, and reliable enough to handle unexpected failures in many stages of the sync process.

Crosslight 4 is here with a much improved sync framework to address all sync challenges found in enterprise scenarios. Built from our experiences designing real-world enterprise apps that empower thousands of users, Crosslight sync framework is aimed to become the industry’s most advanced data synchronization framework for mission-critical enterprise apps.


Introducing Sync Channels

In version 2, Crosslight introduced powerful data access framework that includes a robust data synchronization feature. In this release, Crosslight steps up the game with the support for multiple synchronization channels. This allows multiple data synchronization processes to be done in parallel, which greatly increases the efficiency of data synchronization. As the result, your apps will receive significant performance gain which lead to greater, responsive user experience.

Just define the entity types that you wish to synchronize in each channel, then call them anywhere.  This way, you can have multiple channels with multiple entities on each channel that will run the synchronization process at the same time.  Learn more.

Smart Queue Management

Let's say you're offline and you have 10k rows of data to sync. When internet connection is available, your application will start to sync. If not handled correctly, your app UI could easily be blocked due to synchronization of large data size. In this release, Crosslight has included a smart queue management that addresses bottleneck in data-intensive apps, allowing the application UI to remain responsive while the synchronization process is done on the background. 

The essence of queue lies in priority management, and fine-grained sync process where you can select which data matters the most to you, allowing you to completely control how the sync should work. Better yet, you can define the priority of the sync channel, whether it should run immediately or to be queued later. Learn more.


Redesigned for the Utmost Reliability

As a true enterprise mobile framework, Crosslight takes very careful attention to detail when it comes to preserving data integrity during data synchronization process. In general, data synchronization undergoes  3 important processes: the client sent the request to the server,  the server receives the request and processes the request, and finally  the server finishes processing the request and sent the response back containing the synced entities.

While the sync processes may sound simple and straightforward at a glance, there are numerous scenarios in real-world enterprise usage which can interfere with the synchronization process. Failure to handle these scenarios will often lead to fatal results such as data corruption and inaccurate data state between the client and server. The stalled synchronization state will compromise the data integrity in the long run. To understand how data sync works in general, let's take a look at the following illustrations.

The above figure illustrates the scenarios for syncing new data. It gets even more complex when the client performs other data operations on the entities such as insert, update and delete. For example, if the client creates a record, then synced to server, but it gets interrupted on its way, what should the client do to treat the newly created data on the client side? What should be done on the next data synchronization process in order to maintain data integrity? As you can see, data synchronization process is extremely complex and data integrity can break easily, if not handled properly. These are just some of the intricate operations that may occur during data synchronization.

In this release, Crosslight introduces several new innovative features – smart sync state and delta changes management – to ensure the reliability and integrity of the Crosslight Sync framework. Every little detail of the process has been perfected to make fail-proof data synchronization a reality, so you can create beautiful enterprise apps with rock-solid stability in the shortest time possible.

Best of all, you can enjoy these great reliability features by simply migrating to Crosslight 4 – no additional code required. Learn more.



Supercharged Data Access Component

The inception of Crosslight 2 has allowed developers to enjoy streamlined data access perform various operations from many data sources with the flexible Repository Pattern. This allows you to easily plug-and-play data sources just by changing the repository which connects to local or online data sources. In this release, Crosslight 4 optimizes data operations one step further with View Projection technology, which allows you to easily build shaped views with streamlined object models.

Not only that, the view projection technology comes with advanced support for aggregate and arithmetic projection, advanced filter over collection, multiple association with same foreign key reference, extensible request and response filters. In addition, the data access performance has been significantly improved, yielding 2x faster performance in entity container operations. These enhancements will ultimately reduce overhead and improving the overall performance of your apps.

Introducing View Projection

When building enterprise apps with objects with complex relationships, traditional programming paradigm requires developers to perform "includes" to the object models. This works well for smaller objects with small complexity. However, in enterprise apps, objects can grow with more complex relationships, and this is where the traditional "includes" approach will not scale well. Let's say you have a list of items which needs to show various contextual information just for single cell view, the related navigational entities of each item will be fetched, processed and attached to the entity container. If you have a relatively large amount of data, the navigational entities processing will introduce overhead to the loading performance in exponential way.

With the new view projection feature, you can now extend your plain domain model and simplify the object with complex relationship to a single, linear relationship. By using this approach, the read process for each item is dramatically simplified, ensuring data loading and scrolling experience is as smooth as possible. Crosslight 4 provides a way for you to achieve this effect with simple definitions in the client-side, without requiring custom server methods. Learn more.


Aggregate and Arithmetic Projection

Along with the new view projection feature, Crosslight takes data shaping even further through data aggregation with arithmetic support. It’s designed so intuitive for developers, allowing you to easily perform data aggregation with just simple definitions in the client-side – absolutely no additional server query required. 

For example, you can perform basic aggregate functions such as Sum, Count, Average, Max, and Min. Even better, you can also perform custom arithmetic calculation with grouping support such as shown in the above figure.  Learn more.


Advanced Filtering over Collection

The new view projection feature allows you to create dynamic queries right off the bat. Introducing AnyFilterDescriptor, you can now easily perform entity filtering over collection navigational property. Nested hierarchical navigation filtering is also supported. For example, you can now perform something like getting a list of customers whose subscriptions have expired – right in the client without touching any server code.

This super-useful feature will definitely save you the time and hassle of writing complex server queries. Despite the client-side definition, the actual data query is smartly performed in the server-side, ensuring the most efficient filtering process which return only the matching result to the client. Learn more.


Multiple Association with Same Foreign Key Reference

Crosslight 4 core data access framework now supports even more enterprise scenarios. Enterprise apps often have complex table structure and relationships, and typical data framework just won't cut it.

With all new improved Entity Relations management, Crosslight 4 now supports tables that have multiple association with the same foreign key reference. Follow these instructions here: Crosslight 4 Upgrade Guide to enjoy the latest feature.



Fine-tuned Performance

With the inception of Crosslight 2, we have introduced a streamlined approach to data access using Entity Container. Since then, we have been continuously tweaking and fine-tuning the performance of the Entity Container, including enhanced relationship management, and even more efficient processes, which improves entity access performance by 2X.


Extensible Request and Response Filters

The extensible nature of Crosslight's Data Access Framework allows developers to add any kind of filters on top of the REST request and response packets, which can be used to optimize the footprint of the response content. One of the most common use case is to apply the Gzip filter, which significantly reduces the response content size, ultimately improve application’s overall performance and user experience. Learn more.

Improved Crosslight Entity Designer

The introduction of the new projection feature requires several changes to be made to the entity designer and code generator. The code generator now generates a V4 type controller which has a relationship dictionary that defines and manages the complex relationship to be used in view projection.

For more information about the new features and settings introduced in the Entity Designer v4, see Creating Entity Model and Services with Crosslight Entity Designer Extensions.


Major improvements to Intersoft WebAPI

The new improvements on client-side requires some improvements also be made on server-side. Not only the entity designer, several improvements need to be made to WebAPI also, which makes view projection possible. It has been tweaked in such a way to support optional queries that returns only the necessary JSON string instead of a whole, bulky JSON, reducing the size of the overall JSON response. 

Major improvements to Intersoft SQLite

All of the exciting new features don't just work in the server-side, they're all supported in the Crosslight SQLite too, enabling developers to concentrate on single data view definition which produces consistent result, either from the server, or locally. This also means apps with data sync can utilize these great features as well, which developers will greatly appreciate.



Business-oriented, Gorgeous Data Visualization

Data is the heart of enterprise apps. As more and more data gets collected every second, enterprise mobile users often need to process the data into meaningful information on the go. Crosslight Charting provides the tools you need to create gorgeous, engaging data visualization on mobile platforms. With over more than 20 chart types, Crosslight Charting takes mobile charting to a whole new level.


The Industry’s Most Advanced Charting Toolset

Crosslight 4 now features a long awaited charting suite that will take mobile data visualization to the next level. Crosslight Charting allows you to visualize data on mobile devices like never before. With the solid MVVM pattern in mind, you can easily provide data to Crosslight Charting using data binding. Crosslight Charting is designed completely from the ground-up, with everything you would expect from a powerful charting suite: fast, vibrant, powerful, and customizable.

Some of the key features include:

Lightning-fast Performance. Pixel-perfect Rendering.

Crosslight Charting is designed for performance. Using state-of-the-art rendering algorithm, Crosslight Charting efficiently calculates the available screen estate with no overheads, yielding beautiful charts in matter of seconds. In just one screen, you can display multiple charts with multiple series. Even so, the charts retain its sharp, pixel-perfect renders even when panned or zoomed. 


Choose from over 20 Chart Types

Supporting over 20 chart types, Crosslight Charting provides you the ultimate mobile charting suite that enterprise developers will love. Here are quick overview on the available chart types as well as the notable features.

Crosslight Charting not only let you choose from these chart types, but it also lets you mix-and-match chart types as you like, so you can display multiple charts in a screen. Learn more.

Smooth Animation with Elegant Styles

Crosslight Charting is designed to be both engaging and fun. When the charts first load, the elements in the series will be intuitively animated according to the nature of the series, for example, the doughnut chart will rotate in a circular motion, while the line chart will be animated from the left to the right. When the data for the series is changed or a new series is added to the chart at runtime, the same gorgeous animation will be applied.

Interactive Axis Zooming and Panning

In addition to gorgeous animations, Crosslight Charting also comes with full interactive interactions. You can zoom in to a certain area in the chart just by performing a pinch to zoom gesture. If that's a hassle, you can just perform a double tap on the chart and it will zoom in automatically. Scrolling across the chart is as easy as performing a pan gesture. That's what you call intuitive.

Smart Axis and Label Positioning

When you feed data into the chart with a data source, Crosslight Charting automatically detects the axis types, label positions and stagger types, saving you the time on having to define a meaningful range constraints for the chart. What's more, it automatically calculates the best interval range for the given data, so you can visualize data in a more meaningful way and get more information out of the chart.


Fully Customizable Appearance and Settings

Don't like what you see on the chart? Customize it. Crosslight Charting is also built in utmost flexibility in mind. You can customize every aspect which is being displayed, such as chart element appearance, fonts, color palette, data formatting, down to individual axis appearance such as grid line color and visibility, and much more. All this is done by customizing the cross-platform property of the Crosslight Charting Component Model, located in the ViewModel. Learn more.

Built-in Enterprise Chart Features

Crosslight Charting also comes with enterprise-ready features such as custom data annotations. Custom data annotations allows you to annotate data within the Crosslight Charting to indicate a certain information, for example, in an Attendance Chart you can mark a certain a time where all employees are absent due to a company trip. And here's the best part, Crosslight Charting include all these enterprise chart features by default without charging additional cost. You're welcome. Learn more.

Meticulously-Designed Experiences

Conforming to human interface guidelines of each platform, Crosslight Charting is designed to fit into mobile platforms easily and seamlessly while interacting with it feels easy, natural and intuitive. It is also designed to handle rotation elegantly, so no matter what screen size and orientation you're fitting the chart into, it will always do the job right.



Innovative, Highly Versatile Dialog Presenter

Frequently, you need to display short-lived message or actions to the users in a certain view context. Since the introduction of Crosslight, Crosslight has included four built-in presenters, which is ready at your disposal: Activity Presenter to show loading indicators, Action Presenter to present several actions to the users, Message Presenter to display a simple message in a form of dialog and three actionable buttons, and Toast Presenter to display a transient message to the user. In this release, Crosslight 4 adds a new presenter to the presenters family lineup. Meet the new Dialog Presenter.

Introducing Crosslight Dialog Presenter

The new Dialog Presenter makes the best out of displaying content while allowing you to capture additional user input in an elegant modal presentation. Supporting both iOS and Android platforms, you can easily invoke the dialog presenter right from the ViewModel, enabling you to streamline the UI logic entirely in the shared project.


Designed for ultimate flexibility, Dialog Presenter provides several API and settings that you can configure directly in the ViewModel. For example, you can easily configure the title of the dialog, the visible dialog buttons, and some generic appearance settings. Learn more.


Fully Customizable Platform-specific Settings

On both the iOS platform as well as the Android platform, you can customize various aspects of the dialog presenter, such as customizing the overlay background, presentation style, edge presentation position, entry transition, content shadow and much more. On iOS, you can also choose to override the TableView appearance completely just by using the TableViewAppearance Class. Learn more: iOS and Android.


Universal Presenter Design in iOS

When using the dialog presenter, you can freely choose how you would like to display the content. For example, on iPhone, you can display the dialog modally in the center part of the screen, whereas on the iPad you can choose to display the dialog presenter on the right side the screen. Although the presentation style is different, the displayed content remains universal, also known as the universal presenter design in iOS. Learn more.



Comprehensive Barcode Scanner Service

Traditional barcode scanners are big, bulky and wired. And they're quite expensive too. Why not take it a step further with a device that's already in your hands to perform similar task? Nowadays, the camera module on mobile phones are more than powerful enough to capture high quality images that can be used to process meaningful data, such as barcodes. In this release, Crosslight 4 introduces a new barcode scanner service that will help developers integrate barcode scanning feature right into Crosslight apps.

20+ Barcode Format Support

Crosslight Barcode Scanner service is built for maximum compatibility with the most popular bar code types in the industry, such as Aztec, Codabar, DataMatrix, Ean, Maxicode, MSI, PDF 417, and QR code, just to name a few. Learn more.

Automatic Barcode Detection

To use the barcode reader, you can simply resolve the barcode reader service from the ViewModel, then simply call the Scan method, which will open up the barcode scanner leveraging the native mobile's camera function. Adding barcode scanner has never been so simple and straightforward. Learn more.




Powerful, Extensible Logging Service

Powerful and comprehensive logging is an invaluable part of an enterprise app. It allows you to perform data mining, gather information how users use your apps, and analyze errors and crashes of your app. While you can simply performing debug to obtain a particular information in development environment, often, it is not possible to do so when the app is already in production – live at the store. This is where a powerful logging framework comes to rescue. In this release, Crosslight introduces a highly versatile and extensible logging framework, enabling you to easily implement application logging with relatively minimum amount of code.

As seen in the above figure, the Logging Service is built as an abstraction at the core of Crosslight Foundation which consists of simple, yet extensible logging mechanism on which you can easily extend or create their own. Crosslight 4 ships with a concrete implementation of the logging service in separate components which is available at your disposal as soon as you reference them. To learn and understand more about the logging framework, please refer to Implementing Application Logging.

Developer-friendly API, Painless Logging

Crosslight makes logging painless – thanks to the intuitive, developer-friendly API. The Crosslight logging interface is modeled upon popular logging concept which favor simple logging API with predefined naming conventions. This means that you don't need to concern the actual implementation of the logging, all you need to do is accessing the Logger property available in your ViewModel class, then simply write your logs accordingly such as calling the Info method for logging informational message or Error method for logging an exception. See the code example below. 

That's it! Logging could never be easier. Learn more.

Automatic Integration to Azure Application Insights

With just simple configuration, Crosslight apps can now be analyzed right from Azure Application Insights, thanks to the extensible nature of the Crosslight's logging service. Crosslight 4 ships with logging component extension designed for Azure Application Insights, enabling you to  gather various useful information, such as ensuring the application's availability for your users, diagnose exceptions and performance issues, analyze your application's usage, and more.

To learn more how to use the Logging Extension for Azure Insights, see Enabling Azure Insights Application Logging. For more information about Microsoft Azure Application Insights, see  Azure Application Insight Overview .



Log Anything, Anywhere.

The Crosslight Logging Framework comes with a simple, yet powerful approach to logging: log now, export everywhere. The extensible architecture of Crosslight Logging Framework allows you to write logging in a simple manner whether at the client or server, yet allowing you to output the logged data to the desire target with consistent and streamlined API. Learn more.



Improved Form Builder

Designing a functional, yet beautiful-looking forms for mobile devices isn't an easy task. There are lots of asects to consider, as data binding, form validation, form element placements, strict conformity to human interface guidelines, and much more. Crosslight developers have long enjoyed the simplicity of achieving this task using the Crosslight Form Builder, which generates cross-platform forms just by using simple metadata definition. In this release, the Crosslight Form Builder receives two new enhancements: interactive section visibility with animation and a new numeric stepper editor.


New Numeric Stepper Editor

When dealing with numbers in a form, there are several cases which would make sense if the user enters the field in the form of small number increments, for example, number of passengers, duration of stay, quantity, etc. In these cases, the standard numeric textbox can do the job, but it would be a suboptimal experience. The new numeric stepper editor provides a more intuitive way to capture such simple, constrained number input scenario. Learn more.

Interactive Section Visibility with Animation

In the previous version of Crosslight Form Builder, you can only toggle the visibility of a property at runtime. Now, in the new version of Form Builder, you can also toggle the visibility of sections at runtime, which opens up a whole new interaction possibilities. For example, you can now use the form builder to create reservation forms that shows dynamic sections every time a guest is added.




What’s New in Crosslight for iOS

Crosslight 4 release marks an important milestone for iOS development specifically the addition for universal storyboards and Xamarin iOS designer support. In addition, this release adds a highly sophisticated data visualization library and dozens of amazing UI components that will surely elevate your iOS app to the next level. That's not all – this release also includes over hundreds of new features and improvements across existing components that will significantly shorten your development time.


Stunning Animations for Drawer Navigation

Two new stunning animations have been added to the Drawer Navigation component, including the most demanded sliding parallax and scale animation. Rotations and gestures have been automatically handled for you, so all you need to do is simply setting a property to enable the animation. Learn more.


Universal Search Controller

In this release, Crosslight introduces a new search controller that is modeled upon iOS 8's universal presentation design pattern. Instead of embedding the search bar within table view, you can now display a search controller from anywhere in your app. The most common pattern is the promotion of the search button in the navigation bar which is adopted by many popular apps such as Photos, Calendar, YouTube, Twitter and many more. The search controller supports modal navigation, which smoothly animates the search bar from the top. Best of all, it provides built-in data binding support, enabling you to reuse existing ViewModel without code changes.

For more information, see iOS Search Controller.

Versatile Segmented Controller

Every new Crosslight release introduce new design patterns allowing you to quickly build modern and professional-looking apps. In this release, you can now build advanced apps that use segmented bar as the navigation interaction. Seamlessly integrated to the Crosslight navigation framework, segmented bar controller lets you easily display multiple list of data, or a list of data with different filters. Built for flexibility in mind, you can present a combination of data list and custom content, for instances, Top Charts in one bar, and Reviews in another.

For more information, see iOS Segmented Bar Controller.


Floating Label with Background for Table Cell

In its fourth generation, Crosslight is more mature than ever, enabling you to create a wide range of business apps rapidly through the introduction of many new UI components. This small yet super handy component, Cell Label, enables you to create a floating label in table view which is perfect for number indicator or highlight. Unlike the standard label, Cell Label maintains its styles and background color when the table cell is selected. This built-in feature eliminates the need to write hundreds line-of-code typically needed in manual subclassing approach. You can just add the label control in the cell template through Xcode designer – it's that simple.

For more information, see iOS Cell Label.


Gorgeous Content Presenter with 8 Prebuilt Transitions

In this release, Crosslight introduced an all-new gorgeous UI component that lets you easily design amazing iOS apps with modern user interface. Introducing Dialog Presenter, you can now present a custom dialog and receive additional input from users. It lets you present a custom view content that may contain additional input controls and more sophisticated UI logic bound to a ViewModel. 

Similar to the other presenter variants, you can easily consume dialog presenter right from the ViewModel. In addition, Dialog Presenter provides several built-in presentation styles designed with modern and adaptive layout in mind, which makes dialog presenter more appealing compared to the modal navigation. Learn more.


Vibrant Rounded Button with 3 Prebuilt Button Styles

Introducing the new vibrant rounded button, you can now facelift your iOS apps with modern and beautiful buttons featuring hairline-thin stroke and vibrancy effect. Crafted with pixel-perfect rendering, the gorgeous button control provides various predefined button styles and content styles that suit your design preferences. More importantly, the button control is engineered with compliance to iOS gesture tracking standard defined in the human interface guidelines, including ability to track touch down inside or out, as well as touch up inside or out.

For more information, see iOS Rounded Button.



What’s New in Crosslight for Android

In this release, Crosslight for Android receives several great enhancements which will make mobile development even easier. Here are the list of enhancements:

  • New Rounded Button.

  • New Numeric Stepper Control.

  • Fused Location Provider.
  • Add binding support for ImageButton, ToggleButton, RoundedButton, NumericStepper.
  • ListView Improvement in FormBuilder.



New Rounded Button

The new rounded button allows you display a round button with adjustable width and height. This allows you to improve the overall look of your app with nice, round-accent buttons. All you need to do is just specify the image source and the text you would like to use. Tip: it works great with the rounded image view. For more information, see Android Rounded Button.



New Numeric Stepper Control

The numeric stepper control is a versatile control that allows users to perform changes to a numeric value in small increments. You can specify the minimum value as well as the maximum value, and also how many increments you want the stepper to perform. It also works with Crosslight Form Builder, so you can integrate the numeric stepper into various kinds of forms, for example, guest reservation, flight reservation form, etc. Learn more.


Fused Location Provider

In the first iteration, Crosslight introduced a versatile, cross-platform mobile service, which includes a very useful location service, that allows developers to obtain the location of the device. In this release, the location service for Android is enhanced with the use of Fused Location Provider. The Fused Location Provider conforms to the native Android approach in getting the last known location of the device. It's all done automatically so you don't have to perform any code changes.


ListView Improvement for Form Builder

At times, when using the Form Builder, you may want to display a list of items. This is where the ListView control in Form Builder comes to play. It allows you to bind a list of items and display them inline with the form components in other sections as well. 

This release also adds several improvements to the ListView performance in Form Builder. You now can:

  • Perform runtime batch updates to the ListView. Previously, you need to supply an initial items binding to the ListView, and it cannot be changed at runtime.
  • Bind items to the ListView from the Form ViewModel's Items property.
  • Simply bind a list of string to the ListView.
  • Improved rotation support.

Binding Support for More Controls

Crosslight 4 adds more MVVM binding support for these controls: ImageButton, ToggleButton, RoundedButton and NumericStepper.



Improved IDE and Tooling Support

Mobile developers heavily rely on IDE to write, build, debug, test and deploy their apps on devices. A comprehensive framework should be able to provide great tools for developers to rapidly build apps. Crosslight developers have long enjoyed the range of high quality IDE and tooling support that is compatible in Visual Studio or Xamarin Studio, such as Crosslight Project Wizard, numerous item templates and project templates. In this release, Crosslight 4 is enhanced with even improved IDE and tooling support: iOS universal storyboard, Xamarin iOS designer, Visual Studio 2015 support and Visual Studio 2015 Android Emulator support.


Crosslight and iOS Universal Storyboard

Introduced in iOS 8, along with the introduction of iPhone 6 and iPhone 6 Plus featuring different screen size, the universal storyboards allow you to create adaptive UI and layout that are optimized for every device size within a single storyboard. With more device sizes coming in the future, storyboards will be the definitive way to build adaptive iOS interface.

Crosslight 4 has been significantly improved to fully support iOS storyboards, specifically, enabling Crosslight navigation framework to automatically locate the views defined in the storyboard. As the result, you may continue using the same existing Crosslight navigation API you already familiar with, while allowing you to target a view within a storyboard.

For more information, see Working with iOS Universal Storyboards.


Xamarin iOS Designer

Crosslight 4 simplifies the way you build universal iOS apps through the storyboard support. More importantly, it is also the first in industry to support rich development experience in Xamarin iOS Designer. You can now discover Crosslight UI components in the Toolbox, then simply drag and drop them to the designer surface. The commonly customizable settings are now exposed to the Property Window as well, allowing you to conveniently modify the control's settings with just simple point and click.


Visual Studio 2015

As a Visual Studio Industry Partner for many years, Intersoft Solutions has been always at the forefront of bringing day 1 support to every Visual Studio launches. Well, great news! Crosslight 4 now fully support Visual Studio 2015, including the designer extensions, item templates integration as well as the Crosslight Project Wizard.


Visual Studio 2015 Android Emulator

Visual Studio has always been the favorite IDE for .NET developers for decades. Following the same tradition, Visual Studio 2015 is now mobile-friendly. Instead of having to download additional plugins for Visual Studio, now you can build and test Android apps directly from Visual Studio 2015. And yes, Crosslight.Android apps work great with Visual Studio 2015 too!

Learn more about Visual Studio Emulator for Android .



Improved Crosslight Project Wizard

The first edition of Crosslight incorporates a powerful project generator that allows developers to quickly generate Crosslight apps with ease, called Crosslight Project Wizard. In this release, Crosslight Project Wizard gets a much improved functionalities, such as incorporating the new data functionalities, improved and streamlined generation options to generate Crosslight.Android projects, and improved reliability in generating WebAPI-based projects as well as Windows Phone projects.

iOS Unified Project

The introduction of iOS 8 marks a new paradigm for mobile applications, especially Apple devices, as they now support 64-bit architecture natively. The introduction of the 64-bit architecture made Apple to push developers to quickly incorporate the new feature into their apps. 


As a reminder, beginning June 1, 2015 app updates submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK. To enable 64-bit in your project, we recommend using the default Xcode build setting of “Standard architectures” to build a single binary with both 32-bit and 64-bit code. For more information, read the  64-Bit Transition Guide for Cocoa Touch.


Starting with this release, Crosslight Project Wizard will generate Crosslight.iOS apps using iOS.Unified assembly by default, so you don't have to perform any additional effort to conform to the 64-bit specifications. As for existing Crosslight apps, you can easily use the new iOS.Unified assemblies shipped with Crosslight 4, with no code changes required.


Updated Android Project

Crosslight.Android projects generated by the Crosslight Project Wizard now use minimum SDK of 4.0.3 by default, since Xamarin has also dropped support for 4.0 (API level 14).

Updated Web Project

WebAPI-based projects have been improved to a hassle-free testing and deploying experience.



Support Latest Xamarin Releases

Crosslight 4 is built upon latest Xamarin releases which leverage the new Mono 4.0 runtime.

Xamarin Android Player

You can now use Xamarin Android Player to test and deploy your Crosslight apps before they are submitted and published to Google Play. We highly recommend you to use the new Xamarin Android Player as it is significantly faster compared to the stock Android emulator. The above screenshot is taken directly with our new Charting Samples running on Xamarin Android Player. Get it here:



New Crosslight Samples

Check out the new Crosslight 4 samples in order to take full advantage of Crosslight's new arsenal on iOS and Android platforms, including Charting Samples, Dialog Presenter Samples, Advanced Data and View Projection Samples, Logging Samples, Application Logging Samples, Rest Filter Samples and Barcode Scanner Samples.

Charting Samples

Crosslight Charting brings fresh air to mobile data visualization, taking mobile charts to the next level. Run the sample to see each chart types rendered in pixel-perfect, beautiful presentation and engage your users more than ever. All charts are designed to be fully interactive with smooth panning and zooming features, complete with sleek animations and customizable layout and appearance.

Dialog Presenter Samples

Crosslight 4 introduces a new Dialog Presenter that lets you display a dialog with any content inside it. This sample demonstrates several common use cases for the dialog presenter, including Add to Cart feature, complete with nested navigation that allows you to choose a product's options, display an identical 1-to-1 iOS's phone call screen, or perhaps display a greeting / tutorial screen when user launches the app for the first time.

Advanced Data and View Projection Samples

The new view projection feature in Crosslight 4 allows you to create shaped views easily, faster read access and significantly improve smoothness in scrolling experience, especially when dealing with large and complex data sets. This sample showcases how you can take advantage of the new feature in iOS and Android platform.

Logging Samples

Crosslight 4 introduces a powerful and flexible logging framework that allows you to perfrom logging with developer-friendly APIs and export the logging output with ease. The sample demonstrates the usage of the logging framework from the simplest up to advanced usage. You will also learn how to use the LogFilter to filter out the logs.

Application Logging Samples

The new logging framework feature in Crosslight 4 allows you to perform application-wide logging from any classes that you are working with. This sample demonstrates how you can easily introduce your own custom EventSource to handle events that is happening on the application level. In the core project, you'll also find how you can connect Crosslight projects to Azure Application Insights.

Barcode Scanner Samples

The new Crosslight Barcode Scanner service allows you to take advantage of the phone's camera capabilities and turn them into barcode scanner. This sample shows how you can use the new Crosslight Barcode Scanner service to integrate into your Crosslight apps. To use it, just launch the service and point the camera into a barcode.

REST Filter Samples

The revamped data access framework introduced in Crosslight 4 allows you to perform some level of interceptions for the incoming and outgoing REST request and response. This sample demonstrates how you can introduce your own filter, such as the Gzip filter that compresses the request to save valuable bandwidth.


Updates and fixes in this release

This release includes the following updates and bug fixes:

T Key Summary P Status Component/s
Bug CROS-860 Callback form Navigate Model in Drawer Fragment is never called. Major Resolved Android
New Feature CROS-857 Synchronization Stall Management Major Closed Frameworks
New Feature CROS-856 Introduce Rounded Button Major Closed Android
Improvement CROS-851 Improved iOS push notification to support 64-bit ARMv7 and ARMv7s architecture. Major Closed iOS, Services
New Feature CROS-850 Introduce filter capabilities for RestRequest and RestResponse which can be used to compress the data transfer Major Closed Services
New Feature CROS-849 Introduce NumericStepper for FormBuilder Major Closed Android
New Feature CROS-847 NullValueText support for TextField in FormBuilder Major Closed Android
New Feature CROS-845 Introduce IApplicationEventSource for extensible semantic logging in Crosslight apps. Major Closed Core
New Feature CROS-844 Integrate main logging interface to Crosslight core assembly Major Closed Core
New Feature CROS-843 Improved LocalStorage service with more functionality to manipulate and obtain files information. Major Closed Core
Improvement CROS-841 Pass navigation item as data if data is not provided when navigating tab / view pager Major Closed Android
Bug CROS-840 Add static EntityRelations() in Code generator Major Closed Integration
Bug CROS-839 SelectedViewModel of IMultiPageViewModel is not invalidated when navigating in tab and view pager Major Resolved Android
Bug CROS-838 FormBuilder's Button throw an exception if placed in Drawer Major Resolved Android
New Feature CROS-835 Introducing designer support for iOS storyboard and Xamarin iOS designer. Major Closed iOS
New Feature CROS-834 Cell accessory in UITableView can now be handled through Command property binding. Major Closed iOS
New Feature CROS-833 Added option to customize cell accessory, tint color, and scroll indicator visibility to the TableAppearance settings. Major Closed iOS
New Feature CROS-832 Enhanced Crosslight iOS components to support Xamarin iOS Designer. Major Closed iOS
New Feature CROS-831 Improved Crosslight navigation framework to support iOS universal storyboard. Major Closed iOS
New Feature CROS-830 New iOS UIRoundedButton component featuring modern translucent border effect along with smooth animated vibrancy fill. Major Closed iOS
New Feature CROS-829 Added NumericStepper to built-in Form Builder editor type. Major Closed Core, iOS
Bug CROS-828 Unhandled exception thrown when modifying items of ListView on Background Major Resolved Android
Bug CROS-827 Fix rotation issue in FormBuilder's List Major Resolved Android
Bug CROS-826 Item Binding on Style Attribute Has Inconsistent Strikethrough Major Resolved Android
New Feature CROS-825 Extensible presenter architecture with customizable transition and settings. Major Closed iOS
New Feature CROS-824 Support the new unified transition in navigation controller. Major Closed iOS
New Feature CROS-823 Introducing 8 new built-in view transitions, including Fade, Zoom, SubtleZoom, Scale, SlideLeft, SlideRight, SlideBottom, and SlideTop. Major Closed iOS
New Feature CROS-822 Introduce Semantic Logging Design Pattern Major Closed Services
New Feature CROS-821 Introduce Crosslight Logging Framework Major Closed Services
New Feature CROS-820 Arithmetic Expression Support for Select Descriptor's Aggregate Expression Major Closed Data
New Feature CROS-818 New Component: DialogPresenter Major Closed iOS
Bug CROS-817 Error when Navigating to UIWebView then Back to Previous ViewModel Major Resolved iOS
Bug CROS-809 Error when Changing Orientation inside View Slider while Hold Sliding Major Resolved Android
New Feature CROS-799 CommandProperty binding support to Button in Custom View Slider Major Closed Android
New Feature CROS-795 Support for VisibilityBinding on Section with Model Source on Android Major Resolved Android
Improvement CROS-768 Improve View Pager Navigation Major Closed Android
New Feature CROS-767 Introduce Customizable Dialog Presenter Major Closed Android
New Feature CROS-765 New component: UICellLabel -- designed for use in UITableViewCell which makes background stay visible when the cell is selected. Major Closed iOS
New Feature CROS-764 New component: UISegmentedBarController -- allows multi-view interface using SegmentedBar control, supporting both data list and arbitrary content scenarios. Major Closed iOS
New Feature CROS-763 New component: UISearchController featuring built-in ViewModel and data binding support. Major Closed iOS
New Feature CROS-762 Introduce RunOnUIThread with delay method overload in View Service. Major Closed Core
New Feature CROS-761 ListViewModel<T> now have overridable CanExecuteSelect and ExecuteSelect method, which will be called upon an item selection. Major Closed Core
New Feature CROS-760 Added SelectedViewModel property to the IMultiPageViewModel. Major Closed Core
New Feature CROS-759 Added ability to invoke a View method right from the ViewModel. Major Closed Core
New Feature CROS-758 UIFormViewController now supports translucency and all appearance properties available in UITableViewController, including the new SeparatorEffect and ContentEffect. Major Closed iOS
New Feature CROS-757 UITableViewController now supports vibrancy visual effect for the built-in cell, only a single property set required. Major Closed iOS
New Feature CROS-756 UITableViewController now supports customizing SeparatorEffect through Appearance property. Major Closed iOS
New Feature CROS-755 New stunning scale animation effect for UIDrawerNavigationController with customizable SpringVelocity. Major Closed iOS
New Feature CROS-754 New Slide Parallax animation effect for UIDrawerNavigationController with customizable ParallaxVelocity. Major Closed iOS
New Feature CROS-749 Introduce new base entity repositories to support entity with multiple primary keys Major Closed Frameworks
Improvement CROS-747 When performing data filter, automatically cancel previous filter requests to avoid incorrect result and performance hits. Major Closed Frameworks
Improvement CROS-746 Support GetSingleAsync with Includes in IAsyncDataRepository Major Closed Frameworks
Improvement CROS-741 Thread-safe support for EditableLocalEntityRepository when SaveChangesAsync. Major Closed Frameworks
Bug CROS-738 Load data during OnDataSynchronized where SourceItems can be null. Major Resolved Frameworks
New Feature CROS-736 QueryDescriptor now supports complex filter over collection that comply with OData specification. Major Closed Data
New Feature CROS-721 Introduce new Barcode Service Major Closed Services
Bug CROS-718 Fix relationship management when include entities with navigation property (list) with more than one item Major Resolved Data
Improvement CROS-716 Prevent null children from being evaluated in TableQuery ExpandChildren scenario. Major Closed Data
New Feature CROS-704 Implement Synchronization Queue based on Priority Major Closed Frameworks
New Feature CROS-702 Multiple Channel Synchronization Support Major Closed Frameworks
New Feature CROS-694 Add a feature to compress responses in REST API with GZip. Major Closed Data
Task CROS-658 Data synchronization for specific entity and paging support Major Closed Data
Task CROS-657 Entity Container : support multiple association with same foreign key reference Major Closed Data
New Feature CROS-580 Improve VisibilityBinding attribute to support showing or hiding form sections dynamically. Major Closed iOS

For more information about release band quality and how to obtain and apply updates, see Updating Crosslight.