Skip to end of metadata
Go to start of metadata

The best framework to build mobile apps just got even better.

Welcome to Crosslight 5. It's the ultimate framework you need to build sophisticated, cross-platform enterprise mobile apps. 

 

 

In our biggest release yet, Crosslight 5 delivers a brand-new Android Material library and major groundbreaking features that make cross-platform mobile development even easier. This new release also features a much streamlined developer experience through extensive NuGet support, allowing you to easily add Crosslight extensions and update to a new version right from the NuGet interface.

In addition, Crosslight 5 also adds stunning and fully-customizable gauges, a versatile signature pad, and a much improved calendar component. Other key highlights in this release include various API improvements in Crosslight Foundation, comprehensive storyboard support targeting iOS 9, and major updates to tooling integration supported on both Xamarin Studio and Visual Studio.

Download Crosslight 5 today.

 


 

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

 


 

Introducing Crosslight Android Material

In Android 4.0, Google introduced major changes to Android UI with the advent of Holo theme, with black theme and thin blue lights dominating the majority of the UI, making Android feels like an interface from a futuristic movie. This is the beginning of Android UI modernization. The futuristic UI then took a radical turn in Android 5.0, with Google introducing Material Design to the mobile scene. With Material Design, Google tries to create a visual language that synthesizes classic principles of good design with the innovation and possibility of technology and science.

Material Design now dominates the UI of major apps in the Play Store, making apps look modernized and more uniform than ever. However, adopting Material Design is not easy, as Google might not provide a convenient way to implement Material design into existing Android apps. This is where Crosslight Android Material comes in. Let's see how the new Crosslight Android Material changes the game.

 

New Crosslight Android Material Library

With Crosslight Android Material, now you can easily adopt Material Design into your existing Crosslight Android apps, thanks to the simple and developer-friendly API design. You can enable the Material features by simply setting properties in the Fragment classes. Introducing a new, separate assembly is inevitable, as old approaches will not work anymore with the new Crosslight Android framework. With that, new dependencies are also introduced as Google now breaks down the large Google Play Services library into into smaller, modular services.

 

The v7 Assembly

The new Intersoft.Crosslight.Android.v7 assembly is a whole new library, built from the ground-up to fully accommodate Material Design into Crosslight. The v7 identifier follows the same compatibility level with the Android.Support.v7 library, which will work on Android API Level 15 and upwards, albeit with limitations.

 

 

New Dependencies

Several new dependencies are now required in the Material project, even though your application might not actively use them. The new dependencies are as follow:

  • Xamarin.Android.Support.Design
  • Xamarin.Android.Support.v4
  • Xamarin.Android.Support.v7.AppCompat
  • Xamarin.Android.Support.v7.CardView
  • Xamarin.Android.Support.v7.RecyclerView

 

 

Material User Experience

Material Design is huge. It's more than simple design that mimics paper-like interactions on screen. It's a new design paradigm that encompasses a new user experience and interaction, redefining how software interacts with the user. The use of vibrant material colors, new material UI elements such as the Floating Action Button, Material Toolbar, new NavigationViews as Material Navigation Drawers, CardViews, TextInputLayouts and more, gives Android apps a whole new user experience.

With Material UX, navigating between screens now becomes more seamless and natural, thanks to the new Shared Transitions. Users can now see more content with the new CollapsingToolbarLayout, which can be customized to automatically collapse when the user scrolls to see more on a content. It's a fresh, brand new take on software user interface and experience. Crosslight 5 features all these wonderful Material experiences out-of-the-box, and more importantly, allowing you to consume these features with intuitive APIs and simple property sets, all done without requiring complex AXML configuration.

 

 

Vibrant Material Colors

With Material Design, Google also introduced new color palettes that developers and designers can adopt which uses striking bold, vibrant colors that made Material Design apps easily distinguishable. Crosslight Android Material library introduces a new theme that incorporates these vibrant colors, enabling you to leverage the Material colors effortlessly. It also lets you easily customize the color values from a centralized definition.

By default, Material projects generated by Crosslight Project Wizard automatically apply the new theme introduced in the Material library.

 

  • Primary, Action Menu Background, Progress Dialog Background: 500.
  • Action Menu Text Color, Button Text Color, Progress Text Color: white or black, depending on primary color.
  • Primary Dark: 700.
  • Accent, Navigation Bar, Progress Text Color Inverse, Progress Bar Color Inverse: 400
  • Selection Background: 200
  • Navigation Drawer Header: 400 (start), 500 (center), 800 (end)
  • Progress Bar Color: white or black, depending on accent color.

If you wish to override these colors, simply open the colors.xml file inside the Resources/values folder.

 

 

 

Floating Action Button

Material Design is dominated by rich UI components that are used throughout the app. Let's say you have a screen with list of notes. What will be the most suitable primary action that users will definitely use most often? It will be the Add Note action, correct? How to present the primary action in a visually-appealing manner that still adheres to Material Design?

A single button with icon with accent color filling the entire background. To make the experience complete, when the button is pressed, it needs to be elevated with increased drop shadow and provide a ripple effect to touch feedback. Thus, the Floating Action Button, or simply known as FAB is introduced. With Crosslight Android Material, using FAB is very simple. You can easily define and customize FABs with simply property sets from the Fragment. Learn more.

 

Material Toolbar

In classic Android development, ActionBars were widely used to provide navigation and actions that are contextual to the displayed screen. However, ActionBars were rigid and difficult to customize. When Material Design is introduced, almost all elements of the screen need to be animated. The existing ActionBar framework needs to be replaced with a more dynamic view that can play nicely with the transition framework used for Material Design. Therefore, a new Material Toolbar was introduced in favor to ActionBar.

With Crosslight Android Material, transitioning from ActionBar to Material Toolbar is seamless and automatic. It manages the Toolbar as navigation is performed between fragments. You can easily define the animations, interactivity, or even the menu items for the Toolbar with just simple API calls. No tedious code or AXML configuration needed. 

 

Collapsing Toolbar

As an integral part of the Material Design, Collapsing Toolbars allow for more content to shine when user consumes content on mobile devices. Crosslight Android Material offers several predefined Toolbar interactions that will delight Android developers, moreover that the behavior can easily be enabled with just simple property sets.

Beyond the traditional Collapsing Toolbar experience, Crosslight Android Material includes innovative Toolbar interactions that allow custom header, so you can present any content while preserving the smooth animation while scrolling. Learn more.

 

 

 

 

Shared Transitions

Back in the days before Lollipop, Android was famously known for its inferior user interface and animations compared to iOS. But all that has changed with Lollipop and Material Design. For example, navigating between screens now feels seamless and very interactive, thanks to the shared transitions. UI elements from the previous screen can be persisted to the next screen and have it beautifully animated from one state or position to another.

Defining these transitions in Crosslight Android Material is as simple as defining the enter and exit transitions from one Fragment to another, as follows. Learn more.

 


Parallax Scrolling

The comprehensive Material Design specs defined by Google even covers user interactions such as scrolling. The scrolling techniques presented in the document highlights many of the interesting behaviors Material Design has to offer. To achieve this effect in Crosslight Android Material, all you have to do is just override the Initialize method in the Fragment and specify the behavior settings as follows.

Fragment

It's that simple. For a more comprehensive parallax scrolling animations Crosslight Android Material has to offer, check out this document. Jump in to the sample to see every other possibilities.

 

 

Material Navigation Drawer

The Navigation Drawer also receives a noticeable amount of changes in Material Design. Navigation Drawers are now in full view, taking all the space that spans even above the Toolbar, achieving a full-height navigation drawer. Google seems to be paying more attention to the navigation drawer by introducing a new UI component called NavigationView, which allows developers to simply use the drawer and define the menus and groups via XML definition in the Resource/menu folders. Crosslight Android Material features a new DrawerActivity that resembles all features and experiences found in the Material Navigation Drawer.

 

 

 

Consistent Material Design

In Material Design, UI elements feel roomy and takes up more space than ever. The extra padding spaces allows for users to easily interact with UI elements without requiring too much precision. Material Design manages to achieve the right balance between user interface and app usability without sacrificing any user experiences. Crosslight Android Material is meticulously designed to closely follow the Google's Material design guidelines, preserving the true look and feel of Material Design, including margin, paddings, icon sizes, and layouts.

 

 


 

Simplified Programming Pattern

Crosslight Android Material also introduces a new, simplified programming pattern that will further speed up development process. In most cases, developers will only have to deal with Fragments instead of multiple Activities and Fragments. At runtime, Crosslight Android Material will automatically generates the hosting Activity, should the developer not provide one. However, if the use of a specific Activity is desired, then the defined Activity will be used. In addition, when projects are created using Crosslight Project Wizard, the resulting project now have a more modernized and logical project structure. You can now also use resource overrides to customize UI elements easily. Not only that, defining menu items inside Toolbar and performing various appearance customizations can now be done easily in Fragment level.

 

 

 

Modernized Project Structure

With the use of the new assembly, development patterns are now more simplified and organized than ever. Right after a Material project is created with the Crosslight Project Wizard, you'll see a new and refreshed project structure. Most of the unnecessary files are removed, Android class files are now logically grouped. Activity files inside the Activities folder, Fragment files inside the Fragments folders, infrastructural bootstrapper files inside the Infrastructure folder.

Launcher icons now use mipmap folders instead of the drawable folders. Quoting the Android developers blog: It’s best practice to place your app icons in mipmap- folders (not the drawable- folders) because they are used at resolutions different from the device’s current density. For example, an xxxhdpi app icon can be used on the launcher for an xxhdpi device.

 

 

 

Resource Override

The new Crosslight Android Material is now loaded with customizations. Customizing different elements and colors for your Android app is now easier than ever. What you need to do is simply override existing keys and values in your application and your it will immediately take effect across your entire application. For a complete list of overridable resources, check out this document.

 

 

 

Automatic Back Button

In previous versions of Crosslight Android, you have to explicitly write a certain code to show the back button in the view. Well, all that has changed with the new Crosslight Android Material. The back button is now visible automatically when you perform push, modal or nested modal navigation. For more information, check out this document.

 

 

Add Toolbar Items with Simple API

In traditional Android development patterns, to specify menu items for your Toolbar, you need to create an .xml and put them under the Resources/menu folder, then specify the layout Id in the Fragment or Activity. That's very tedious. With Crosslight Android Material, all you need to do is simply override the Initialize method and add one line-of-code to add a toolbar item to the Toolbar.

For more information, see this document.

 

Smart Fragment Navigation

Crosslight Android Material takes the pain out of thinking which view context to use, Activity or Fragment. With the new library, Fragment is now the first-class view context with full navigation support. This means you can just create fragments for all your content views. Under the hood, Crosslight Android Material will seamlessly manage the Activity creation when needed.

This results in much simplified, rapid and maintainable Android development, where you can simply creating views by focusing solely on fragments. Note that Activity is needed only for the main container in the app, and in certain scenarios when different kind of container is desired.

 


 

Comprehensive Material Components

To achieve all the amazing Material Design described earlier, the existing Crosslight Android needs to be re-engineered from the ground-up to achieve full Material Design compliance, resulting to a powerful Crosslight Android Material library. Many tedious operations were streamlined into fragments such as smart TransitionDrawable orchestration needed for shared transitions, parallax effects, floating action buttons, data binding, navigation patterns, and so much more.

For example, to create a collapsing toolbar animation, simply define the behavior settings as shown below.

Collapsing Toolbar

To learn more about the new Fragment, see Using Material Fragment.

Let's explore many of the new Fragment classes available in Crosslight Android Material.

 

RecyclerViewFragment

At any point in mobile development, Android developers should have encountered some form of data listing using ListView. Great for various usage cases, ListView provides flexible approach to data listing. However, should it be incorrectly implemented, will cause a huge performance degradation in scrolling virtualization and performance. Also, the existing ListView architecture is tightly coupled with its container, allowing inflexible changes at runtime.

With RecyclerView, developers won't have to worry about performance, as RecyclerView enforces the view holder pattern, allowing fast reuse of its cells. In addition, by decoupling the list from its container, developers can now easily change the list layout at runtime by setting the LayoutManager. Furthermore, it works great with the new transition framework for Material Design. Therefore, Crosslight.Android now introduces a new, specialized class to support better use of RecyclerView in Crosslight apps: RecyclerViewFragment. 

Let's take a look at some of the features the RecyclerViewFragment has to offer. To learn more about the Recycler View, check out Using Material Recycler View Fragment.

 

CardView Support

CardView is now becoming the industry standard for Android since Material Design. It is the perfect presentation technique to display items with rich visual display. Using CardViews, you can easily present items with icons and titles which allows for a richer user experience. Starting from API level 21, developers can use the existing native CardView layouts to be used with the RecyclerView, modernizing your Crosslight app in no time. 

 

Swipe Gesture Support

In iOS 7, Apple introduced a new swipe gesture that can be done against a table cell, allowing users to perform quick actions to a single table cell. With the new RecyclerViewFragment, now you can achieve the same result with minimal amount of code.

Furthermore, it also supports automatic state synchronization during batch editing mode and multiple selection. The quick actions now shares the same pattern with iOS development, allowing the actions to be defined at the Core level. Building on mature Crosslight Foundation, it comes with comprehensive data binding support allowing you to reuse the same UI logic and action commands in ViewModel. Learn more.

 

 

 

Shared Transition Support

In addition to shared transition to item detail, Crosslight Android Material also also integrates nicely to Crosslight Form Builder, making the transition to the editor form seamless and natural. To enable this feature, you only need to define the shared element and SharedImageIndex in the source Fragment and the target Fragment. Learn more.

 

 

 

Multiple Selection Support

With the new RecyclerViewFragment, multiple selection action is also supported. Although the cells are being heavily reused, the RecyclerViewFragment is designed smart enough to remember the multiple selection state for each item when the user scrolls through the list of items. Upon entering multiple selection mode, the existing Toolbar is overlaid by another Toolbar that shows contextual actions. During multiple selection mode, the RecyclerViewFragment's swipe gesture is automatically disabled as swipe gesture makes lesser sense in editing mode. Learn more.

 

 

 

SearchableRecyclerViewFragment

The new SearchableRecyclerViewFragment lets you implement search against your collection in RecyclerView with minimum effort. Here's an example video of the new search experience with the new Fragment. To learn more about using the new Fragment, check out Using Material Searchable Recycler View Fragment

 

 

 

GridViewFragment

Crosslight Android Material comes with an advanced GridViewFragment designed with intuitive API. For example, you can specify the number of GridView columns, item offset, paddings and interaction mode. It also caters to common business scenarios such as displaying items in a horizontal manner, as shown in the following video. This is all made possible, thanks to the new GridViewFragment for Crosslight Android Material. To learn how to use the new GridViewFragment, see Using Material Grid View Fragment. To experience it yourself, check out the new Material Sample.

 

FormFragment

The new Material Design language introduced in Crosslight Android Material allows forms to shine on a new level. With clear design guidelines from Google, Material Design has also manifested in forms, effectively changing how Crosslight Form Builder should look and feel, therefore a new FormFragment is introduced. 

All 15+ form builder editors are now redesigned and refined for Material design, including its font size, margin, and paddings being taken account. To learn how to use the Form Fragment, see Using Material Form Fragment. Or, check out the sample to see for yourself.

 

MasterDetailFragment

In this release, a new MasterDetailFragment is introduced for Material Design. This component was originally introduced back in Crosslight 2, which allows users to perform master detail navigation on tablets. With the new MasterDetailFragment, you can easily replicate the same user experience with Material Design look and feel. To learn how to use the new component, check out Using Material Master Detail Fragment. If you wish to see it in action, run the Inventory Tracker Master Detail Sample.

 

NestedFragment

Similar to the MasterDetailFragment, the new NestedFragment allows users to perform two-level master detail navigation on tablets. This is useful for business scenarios in which the list may contain a sublist of items. Originally introduced in Crosslight 2, the new NestedFragment is now refined and redesigned to match Material Design standards. See the documentation for more information on how to use the NestedFragment. To see it in action, check out the Inventory Master Detail Sample.

 

SplitFragment

If you prefer a iPad style split view, then this is the right Fragment for you.

Introducing the new SplitFragment, this Fragment allows you to have a completely two separate Fragments where the Fragment have their own Toolbars each with its own navigation. You can learn how to use the SplitFragment here: Using Material Split Fragment. You can see this new feature in action in Master Detail Split template created using the new Crosslight Project Wizard.

 

 

 

SearchActivity

The new SearchActivity is a special Activity class which handles search performed by child views, for example, view pagers, centralized in just one parent SearchActivity. The video above shows the expected experience when working with the SearchActivity. To experience this feature yourself, check out the revised View Projection Sample.

 

Material UI Components

The new and modern UI language introduced in Material Design also affects how Crosslight Android Material apps look and behave. Re-engineering was inevitable, and the end result is Android apps now looks even more stunning UI components that blends perfectly with Material Design. Check out the full showcase below.

 

 

Material MapFragment

Crosslight Maps are also compiled and tested against the new Xamarin support libraries, ensuring maximum compatibility with Lollipop. To learn how to take advantage of the new MapFragment here:  Using Material Map Fragment.

 

 

 

Material ViewPagerFragment

Due to shared transitions framework introduced in Material Design, the existing ViewPagers also need to be revamped. Now ViewPagers support the use of multiple floating action buttons, for each tab, which are smoothly animated during tab transition from one tab to another. To learn more about the new ViewPagerFragment, check out Using Material View Pager Fragment.

 

 

Material Activity Presenter

In older versions of Crosslight, Activity Presenters's designs were heavily influenced by the Holo theme, which looks very dark and black. In Crosslight 5, the Activity Presenter's UI is upgraded to use enhanced ProgressDialog so that it displays presenters Android users are familiar with. It still retains three method overloads supported by Crosslight Activity Presenter in the ViewModel. It will be automatically applied when you migrate to Crosslight 5.

 

Material Buttons

The older Holo-themed buttons just won't cut it to Material Design. As a result, buttons are also upgraded to use the two variants of Material Design, the Raised and Flat buttons. The buttons feels modern and second nature to Material Design. This will also be automatically applied when you migrate to Crosslight 5.

 

Upgrading Your Project to Material Design

Now can easily enjoy all these great features and start adopting Material Design right into your existing Crosslight apps. To learn how to upgrade your existing project to Material, check out this document: Walkthrough: Migrating Classic Apps to Material Apps.

 


 

Crosslight Core Improvements

In addition to sweet Material designs, Crosslight 5 also sports several API improvements when working with the the Core project.

 

 

New Action Toast Presenter

Crosslight developers have long enjoyed the use of four types of presenters available in Crosslight: Action Presenter, Activity Presenter, Message Presenter and Toast Presenter. In this release, a new presenter is introduced: Action Toast Presenter. With the new Action Toast Presenter, you'll be able to present new possibilities to your users once they have performed an action, for example, undoing the previous action. Refer to the documentation to learn more about the Action Toast Presenter.

 

 

Easily Set Title from the ViewModel

Starting from Crosslight 5, you can easily set the Title for each view straight from the ViewModel. This pattern works on the iOS and Android platform, which works consistently in various view contexts such as Activity, Fragment and ViewController classes.

It's that simple, there's now even less code to write in the platform-specific view.

 

 


 

Streamlined Crosslight Development with NuGet Packages

Since 2011, .NET developers all around the world have been enjoying a powerful package manager called NuGet. With more than 500,000 packages and 700 million package installs (and growing), installing components to .NET-based projects have never been easier. Starting from Crosslight 5, now you can also enjoy the same level of convenience, resulting in an even accelerated development experience. This also results to higher maintainability, so if you wish to receive the latest Crosslight release, simply update the NuGet packages and you're all set.

Introducing Intersoft Package Console Extension for Mac

This release focuses on a more streamlined and simplified developer experience when using Crosslight. When you install the new Mobile Studio on the Mac, a new tool called Intersoft Package Console Extension will be installed automatically into Xamarin Studio. 

With this new tool, you can easily install Crosslight onto your projects with a simple command line.

Mac

The extension is reintroduced on top of the existing Package Console Extension for Xamarin Studio. At the time this document is produced, the existing NuGet Package Management Extensions (available in the Xamarin Studio Add-in Repository Alpha Channel) does not support the use of -allProjects option, therefore Crosslight ships an improved NuGet Package Manager extension to support this feature. 

On Visual Studio, you can simply use the Manage NuGet Packages for Solution and install Crosslight.

Simply search for Intersoft.Crosslight and install them onto your projects.

Introduction to Crosslight NuGet Packages

To learn more about common information and operations concerning Crosslight NuGet Packages, such as the benefits of using NuGet, configuring NuGet packages on Mac and Windows, restoring and updating NuGet packages, downgrading packages, additional NuGet commands, check out this document: Introduction to Crosslight NuGet Packages.

Crosslight Packages List

Crosslight 5 published over 60 packages to NuGet, which includes signed Google and Xamarin Support packages. For better experience, you can conveniently browse all Crosslight packages from the NuGet management interface in Visual Studio. To see the complete package list and its supported platforms, please refer to Crosslight NuGet Packages List.

Give it a spin!

To start using Crosslight NuGet packages in your project, simply follow this walkthrough: Walkthrough: Working with Crosslight NuGet Packages

 


 

New Crosslight.UI Components

In addition to Material Support, Crosslight 5 also adds a variety of new UI components to help you build apps faster than ever.

 

Two New Charts: Gauge and Circular Chart

In this release, Crosslight welcomes two new chart additions to the Crosslight Charting family: the Gauge and Circular Chart. With full MVVM compatibility and supporting 20+ types of charts, the new circular gauge lets you display real-time data with customizable chart elements. It also loads quickly in seconds with lightweight footprint. To learn more about the new gauge and circular gauge chart, check out these documents: Visualizing Data With Gauge and Visualizing Data With Circular Gauge. Or, if you prefer, jump directly to samples to see it in action.

 

Signature Pad

Capturing signatures with Crosslight is no longer a hassle with the new Signature Pad. Fully built from the ground up, it lets you take signatures with no lag and full MVVM compatibility with the ViewModel. Furthermore, it's also designed to work in Crosslight Form Builder, so you can easily integrate one into your forms. When you work in different device orientations, it will just work automatically, allowing you to save and load signatures in the form of byte arrays. To learn more, see Working With Signature Pad. Run the sample to see it in action.

 

Calendar 2.0

Crosslight 5 also reintroduces the Calendar Month View component, which is now enhanced for the Android platform. Fully compatible with the new Crosslight Android Material, it also renders more consistently with equally distributed sizes for the month view cells. The Day indicator is also improved to use shorthand versions for a more presentable display on small screen devices such as phones. Try out the new calendar in the sample below.

 

 


 

Crosslight.iOS Improvements

Aside from the very focused additions towards Material Design, Crosslight.iOS also receives some nice upgrades in this release: iOS 9 with full storyboard support, improvements to Form Builder and a modern transparency transition API for NavigationController. These upgrades will surely help you take advantage of the latest and greatest SDKs available for your Crosslight app.

 

iOS 9 Support

When Apple unveiled the iPhone 6S back in 9th September 2015, Apple also announced the availability of iOS 9, the latest and greatest iOS yet. Sporting many breakthrough and exciting features such as 3D Touch, multitasking for iPad, app thinning and more, creating great user experiences for iOS platforms has never been easier. Now Crosslight 5 comes with full support for iOS 9, so you can start build great cross-platform apps right away!

 

Full Storyboard Support

With Crosslight 5, now you can use UICollectionViewControllerUIMasterDetailViewController, and UITabBarController with full storyboard support. With Storyboards, you no longer need to specify multiple XIBs for content-based views. Simply use one storyboard for your entire iOS projects and adapt to various screen sizes and orientations using full Auto Layout support. The entire Crosslight.iOS samples are now also enhanced with full storyboard support and improved Info.plist files to showcase this feature in all its glory.

 

Form Builder Improvements for iOS

Prior to Crosslight 5, when you use the ImageView editor with Form Builder, it can only be contained inside a section that has its layout specified to ImageWithFields. Now you can use ImageView independently regardless of its container's section layout. Furthermore, UIFormViewController now supports forms placed inside a UITabBarController, and automatically taking account universal design support implied by ViewControllers starting in iOS 9. Your forms have never looked any better.

 

 

Modern Transparency Transition API for NavigationController

With Crosslight 5, now you can take advantage of the new modern transparency transition API for UINavigationControllers. Take a look at the video. Notice how the NavigationController's status bar is fully transparent while performing navigation. Typically, achieving this effect is very hard, as common implementations require reengineering of the NavigationControllers, which may lead to a loss of native user experiences, such as the left-edge swipe gesture to return to previous screen. This new API retains the originality and native functionalities of the UINavigationControllers, while still achieving the transparency effect elegantly.

 

 


 

IDE Improvements

As software development world is constantly evolving, so do Crosslight. Adding deeper integration your favorite IDEs, Visual and Xamarin Studio, we've added major improvements to Crosslight Project Wizard, adding Visual Studio F1 Help Integration, and a NuGet package extension for Mac. Read on.

 

Crosslight Project Wizard

Creating Crosslight projects have never been easier, thanks to Crosslight Project Wizard. In our biggest release ever, the Project Wizard is now revamped and further refined.

  • Projects created using the Project Wizard now uses simplified and modernized project structure, with removal of unnecessary files. 
  • The generated Core project now uses the standard Profile78 instead of Profile158 for greater compatibility with other third-party components such as Microsoft BCL.
  • WYSIWYG experience when choosing primary colors in creating Material projects. Android files are now logically grouped in respective folders, also adding support for mipmap icons.
  • Created iOS projects now uses full storyboard support, revised Info.plist files to add support for iOS 9 features, such as the use of StackView in Storyboards. Icons and launch screens now use AssetCatalog for centralized assets management.
  • Created projects now reference to Crosslight NuGet packages which greatly simplify cross-platform development workflow.

 

 

 

 

Visual Studio F1 Help Integration

Want to know more information about a particular class, method or property? Simply put your cursor over and press F1 on your keyboard and you'll be taken to the reference documentation. Works for Visual Studio 2012 and above.

 

NuGet Package Extension for Mac

After you've successfully installed Crosslight onto your Mac, you'll be able to take advantage of the new NuGet package extension for Mac. Resolving Crosslight assemblies are no longer a chore. Just execute this code in the Intersoft Package Manager Extension and Crosslight will be installed automatically to all of your projects.

 

Install Crosslight

 

New Item Templates for Xamarin Studio and Visual Studio

This release adds new Android Material item templates targeting Crosslight Android Material project enabling you to get started quickly with the new Material classes available in Crosslight 5. Simply install the latest Mobile Studio to enjoy this feature on Xamarin Studio and Visual Studio. Simply login with your account in the Account Portal and download the latest Mobile Studio.

 


 

Improved Documentation with New Starter Walkthroughs

To help you get started with Crosslight even faster and easier, we've created an entire new, walkthrough-style documentation which guide you through detailed, step-by-step instructions. Check it out here. Note that the new walkthrough documentation is not meant to replace the existing conceptual documentation, but rather a supplementary to the current documentation. New starter walkthroughs will be added periodically.

 


 

New Crosslight Samples

In this release, all Crosslight samples now receive great user experiences updates as follows:

  • All samples are now directly runnable using NuGet packages, so you don't have to deal with tedious hassles to fix your references. It's as simple as three steps: download the sample, restore the NuGet packages, and run the sample.

    Here's a 2-minute video that showcases the new sample experience.

  • Added Android.Material project — building on the new Crosslight.Android.v7 library.
  • Dropped classic Android project.
  • iOS project is now redesigned with universal storyboard instead of XIB.
  • Core project has been much improved to comply with best practices and API introduced in Crosslight 5. For instance, setting Title can be simply done in ViewModel. The associated view in iOS and Android will automatically take that. This means less code to concern in the view.
  • Core project now uses Profile78 as our new PCL standards. This will allow you to consume most BCL packages from Microsoft.
  • Crosslight samples that use WebAPI can now run directly — no Windows required. By default, all WebAPI samples are now pointing to Intersoft’s public WebAPI endpoint. If you wish to change it to your local WebAPI, that’s just one property value to set.

New Samples Repository

Unlike the previous Crosslight samples, each Crosslight sample is now hosted in its own repository. This means you no longer need to download a huge 600MB file only to get a specific sample you’re interested in. As seen below, the samples are also categorized according several categories so you can quickly decide which samples to pick up based on your needs.

You can access the new Crosslight samples here: http://git.intersoftsolutions.com/projects/CS

The samples are categorized as follows:

  • basic samples: These are the recommended samples that you need to check out when starting with Crosslight, as it contains basic fundamentals such as MVVM, data retrieval, Crosslight mobile services, localization framework.
  • data samples: These samples showcases various data access scenarios, from common to advanced scenarios.
  • app samples: These samples contains small, functional modules that represents a complete application.
  • services samples: These samples contains various usage of Crosslight mobile services.
  • ui samples: These samples contains various UI components provided by Crosslight.


Material Samples

Explore all the glory of Material Design with this sample. This sample consisting of 20+ sub-samples shows you development best practices on how to apply common UI elements and user interactions that conforms to Material Design standards, including parallax scrolling, card views, recycler views, grid views, shared transition, material navigation drawer, and so much more.

Gauge and Circular Samples

Visualize your data in the form of gauge chart with this sample. This sample shows you how to display your data with Crosslight Gauge chart with tons of visual customization.

Signature Pad Samples

Capture customer signature on any business scenarios. This sample shows you how you can use the new Signature Pad to work with Crosslight Form Builder or just simply use it as is and integrate on any screen.

Calendar Samples

Display all your events in a sleek month-view calendar made for Crosslight. Explore the new and improved Crosslight Calendar 2.0 month view in this sample.

Updated Samples

In addition to new samples, also check out these updated samples that showcases the best practices for Crosslight 5 development.

Inventory Tracker Samples

The Master-Detail and the Collection version now works gorgeously on Android tablets.

Inventory Tracker Master Detail Samples

The new advanced master detail navigation also works seamlessly and flawlessly on Android tablets.

Form Builder Samples

The revised Form Builder sample showcases the new and revised Material Design for Android platform.

View Projection Samples

The search experience is very much improved on both Android Material and iOS. On Android Material, it showcases the use of the new SearchActivity which resembles the best practice for implementing search in Android apps.

In addition to the above samples, all 40 samples have been updated with the new Android.Material project. You can browse all Crosslight samples here.

Updates and fixes in this release

This release includes the following updates and bug fixes:

Loading
T Key Summary P Status Component/s
Improvement CROS-1044 Support theming for group header background Major Closed Android
Bug CROS-1043 Only set transition to fade in SearchableRecyclerView if api is equal or greater than 21 Major Resolved Android
Bug CROS-1042 Enhance image loading in ViewSliderSamples - Slide Show Major Resolved
Bug CROS-1041 Android Material: Fix "The given key was not present in the dictionary." exception when navigate to "Floating Action Button Inside View Pager". Major Resolved Android
Bug CROS-1040 API 15: Fix "The given key was not present in the dictionary" Exception when navigate to "Floating Action Button Inside View Pager". Major Resolved Android
Bug CROS-1039 API 15: Fix no method with name='withEndAction' exception when slide up the collapsing toolbar. Major Resolved Android
Bug CROS-1038 API 15: StackOverflowError when navigate to ItemEditorViewModel Major Resolved Android
Bug CROS-1037 API 15: Navigation Group style is not applied Major Resolved Android
Bug CROS-1036 Fix "no method with name='setBackground' ..." exception when run MaterialSample on API 15 Emulator Major Resolved
Bug CROS-1031 Fix Exception (android.view.ViewAnimationUtils) when Floating Action Button is Pressed on Device with API 16 Major Resolved
Improvement CROS-1030 Support theming for group header color. Major Resolved
Bug CROS-1025 SQLite View Projection no support query over collection. Major Resolved Data
New Feature CROS-1024 UIMasterDetailViewController has been improved to handle more robust scenarios, an empty detail will now be shown when all items are deleted. Major Closed iOS
New Feature CROS-1023 Smooth table view animation when working with various scenarios including swipe-gesture, delete, multiple delete, and also takes account both grouped and plain list. Major Closed iOS
New Feature CROS-1022 Support cell swipe-gesture (edit actions) when used in UIMasterDetailViewController Major Closed iOS
Improvement CROS-1021 Data changes notification for grouped items have been re-engineered for greater efficiency which leads to better user experience and smooth animation. Major Closed Core
New Feature CROS-1020 Introduce Title property in ViewModelBase which can be bound to View. Major Closed Core
New Feature CROS-1019 Implement new ActionToastPresenter Major Closed Android, Core, iOS
Bug CROS-1018 The Navigated method of TabViewModel in iOS should be called first before its children's Navigated method. Major Resolved iOS
Improvement CROS-1017 Introduce cancel token in SQLite async method (ToListAsync and CountAsync) Major Closed Data
New Feature CROS-1015 Improved form builder editor rendering to fit the content boundary perfectly, taking account every iOS device kind, size and orientation. Major Closed iOS
Task CROS-1014 ViewSliderSamples.Android.Material Sample Major Closed
Task CROS-1013 SyncSample.Android.Material Sample Major Closed
Task CROS-1012 SimpleExpense.Android.Material Sample Major Closed
Task CROS-1011 SimpleCRM.Android.Material Sample Major Closed
Task CROS-1010 ServicesSamples.Android.Material Sample Major Closed
Task CROS-1009 ReportingSamples.Android Material Sample Major Closed
Task CROS-1008 OSSyncSampleFromPNS.Android.Material Sample Major Closed
Task CROS-1007 OSSyncSample.Android.Material Sample Major Closed
Task CROS-1006 MyInventory.WebApi.Android.Material Sample Major Closed
Task CROS-1005 MyInventory_MasterDetail.Android.Material Sample Major Closed
Task CROS-1004 MyInventory.Android.Material Sample Major Closed
Task CROS-1003 MvvmSamples.Android.Material Sample Major Closed
Task CROS-1002 MultipleSyncChannelSamples.Android.Material Sample Major Closed
Task CROS-1001 MessageInputSamples.Android.Material Sample Major Closed
Task CROS-1000 MapSamples.Android.Material Sample Major Closed
Task CROS-999 LocalizableSample.Android.Material Sample Major Closed
Task CROS-998 FormBuilderSamples.Android.Material Sample Major Closed
Task CROS-997 DrawerSamples.Translucent.Android.Material Sample Major Closed
Task CROS-996 DrawerSamples.Worthy.Android.Material Sample Major Closed
Task CROS-995 DrawerSamples.Facebook.Android.Material Sample Major Closed
Task CROS-994 DrawerSamples.Android.Material Sample Major Closed
Task CROS-993 DataSamplesDrawer.Android.Material Sample Major Closed
Task CROS-992 DataSamples.Android.Material Sample Major Closed
Task CROS-991 CrosslightSimpleTipCalculator.Android.Material Sample Major Closed
Task CROS-990 CalendarSamples.Android.Material Sample Major Closed
Task CROS-989 AutoComplete.Android.Material Sample Major Closed
New Feature CROS-988 Storyboard support for UITabController, UIMasterDetailController and UICollectionViewController Major Closed iOS
New Feature CROS-982 With default size, the Calendar frame should fit the screen boundary in iPhone. Major Closed
New Feature CROS-981 Allow custom frame size in Calendar through the InitializeCalendarView API. Major Closed
Improvement CROS-980 ImageView improvement in iOS Form Builder Major Closed iOS
New Feature CROS-979 Support rotation in Calendar control Major Closed iOS
Bug CROS-977 Updating model of ViewSlider's Item should invalidate the UI Major Resolved Android
Improvement CROS-976 Crosslight Android uses individual Xamarin Google Play Services packages Major Closed Android
New Feature CROS-975 Project Wizard should support selection for Target .NET Framework: 4.0 and 4.5 Major Closed
New Feature CROS-974 Change all Android samples to target 4.0.3 Major Closed
Improvement CROS-965 Streamline Android notification service to call AppService OnNotificationReceived. Major Resolved
Bug CROS-962 Overflow exception is thrown when using CustomEditorIdentifier in FormBuilder Major Resolved Android
Bug CROS-961 Android Form Builder should respect the FormAttribute's Title. Major Resolved Android
New Feature CROS-924 Introduce RecylerViewFragment Major Closed
New Feature CROS-918 Implements selection feature (ui and view model management) Major Closed
New Feature CROS-915 Introduce Advanced RecylerView Major Closed
New Feature CROS-875 Introduce Signature Pad Control Major Closed Android
New Feature CROS-871 Introduce Signature Canvas Control Major Closed Android
New Feature CROS-695 FormBuilder Platform Specific UI Metadata Major Closed Android
New Feature CROS-596 Implement binding mechanism for GridView Major Closed Android
Task CROS-593 GridView Sample (Android) Major Closed

Starting with Crosslight 5, you can now use NuGet Package Manager to get more timely and frequent updates to new Crosslight releases. For more information on how to update Crosslight with NuGet Package Manager, see this documentation.