Tizen .NET Overview

The first preview of Visual Studio Tools for Tizen is released! It enables you to build .NET applications for the Tizen operating system, running on 50 million Samsung devices, including TVs, wearables, mobile, and many other IoT devices, around the world.

Tizen .NET is an exciting new way to develop applications for the Tizen operating system. Using the C# programming language and the Common Language Infrastructure standards, you can benefit from a managed runtime for faster application development, and efficient, secure code execution.  The existing Tizen frameworks are either C-based with no advantages of a managed runtime, or HTML5-based with fewer features and lower performance than the C-based solution.

Visual Studio Tools for Tizen provides device emulators, an extension to Visual Studio with full IntelliSense and debugging capabilities, and a UI framework based on Xamarin.Forms, enabling you to build a common UI for all devices, including iOS and Android.

Tizen .NET Features and Components

Tizen .NET consists of the following main components:

  • .NET Core

    .NET Core is a general purpose development platform maintained by Microsoft and the .NET community on GitHub. It is cross-platform, supporting Windows®, Mac OS® X, and Linux, and can be used in device, cloud, and embedded/IoT scenarios.

    .NET Core contains the following parts:

    • A .NET runtime, which provides a type system, assembly loading, a garbage collector, native interop, and other basic services.
    • A set of framework libraries, which provide primitive data types, application composition types, and fundamental utilities.
    • A set of SDK tools and language compilers that enable the base developer experience, available in the .NET Core SDK.
    • The 'dotnet' application host, which is used to launch .NET Core apps. It selects the runtime and hosts the runtime, provides an assembly loading policy, and launches the application. The same host is also used to launch SDK tools in much the same way.

    For the users of your applications, .NET native offers the following advantages:

    • Fast execution times
    • Consistently speedy startup times
    • Low deployment and update costs
    • Optimized application memory usage
  • Xamarin.Forms as a UI framework

    Xamarin.Forms is a cross-platform UI toolkit that allows you to efficiently create native user interface layouts that can be shared across iOS, Android, Windows Phone, and Universal Windows Platform applications. Tizen .NET supports 99% of Xamarin.Forms.

  • Tizen platform-specific API

    Tizen .NET supports C# APIs, which expose the Tizen native framework APIs features, such as Application, Connectivity, Multimedia, Location, and System. The C# APIs provide support for 60% of Tizen Mobile APIs.

    The supported Tizen platform-specific API namespaces are:

    • Tizen.Applications: Provides the Tizen application framework, including, for example, application state change events, inter-application messaging, and notification services.
    • Tizen.Content: Provides content management services, such as file and media downloads, storing and indexing audio and video content, and associating content types with helper applications.
    • Tizen.Location: Manages geographical location services and geofencing.
    • Tizen.Multimedia: Interacts with media services, including audio playback, recording, and device policy.
    • Tizen.Network: Provides APIs to control connectivity devices, as well as providing various network information.
    • Tizen.Security: Provides access to secure storage for passwords, keys, certificates, and other sensitive data.
    • Tizen.System: Provides device-specific services, including status, system information and settings, feedback, and sensor control and access.

Tizen .NET enables you to build .NET applications with Xamarin.Forms and the Tizen .NET framework. Xamarin.Forms allows you to easily create a user interface, and the Tizen platform API provides numerous interfaces to much of the hardware that is found in modern TVs, and mobile, wearable, and IoT devices.

Figure: Tizen .NET Architecture

Tizen .NET Architecture

Managed Runtime Advantages

A managed runtime offers the following advantages for your application development:

  • Faster time to develop
    Application development is accelerated since the managed runtime already handles many functions that otherwise have to be coded in the application (the Tizen Native API and Tizen Web API already provide this type of benefit).
     
  • Safer code
    Managed runtimes can handle, for example, bound checking, type safety, garbage collection, memory protection services, and objects being invoked directly (the Tizen Web API already provides some of these benefits, but not type safety, as JavaScript is not a strongly typed language).
     
  • Lower deployment costs
    Component-based architecture makes it easier and faster to deploy applications in an enterprise environment characterized by multiple platforms, devices, and legacy systems.
     
  • Better quality software
    Managed runtimes free you to focus on the business logic and code specific to the application while reducing the number of coding errors.
     
  • Cross-platform support
    The managed code is portable; Tizen .NET applications can have large portions of their logic applied to other systems supported by the .NET Core and Xamarin.Forms portions of the runtime.

Visual Studio Tools for Tizen

Visual Studio Tools for Tizen provides the following tools:

  • Tizen mobile emulator

    • Tizen 3.0 public beta image
    • .NET Core runtime
       
  • APIs
    • Support for mobile only in the 1st preview
       
  • Visual Studio extensions
    • Support for most of the functionalities, such as project creation and management, code editing, building and packaging, debugging,and  emulator.

Tizen .NET Next

Some amazing Tizen extensions are provided in the future to enable you to make great applications for your users. The future is looking bright:

  • Tizen .NET will support more APIs (Tizen platform-specific APIs into Xamarin.Forms) and tool features.
  • Cross-profile experience will be developed (such as TV and mobile).
  • Source code will be uploaded soon and be available publicly.
  • Tizen is committed to support Tizen on Xamarin.Forms.
  • More sample applications and extensions will be provided.