+ All Categories
Home > Documents > Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard...

Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard...

Date post: 22-May-2020
Category:
Upload: others
View: 16 times
Download: 0 times
Share this document with a friend
44
Tizen .NET Samsung Electronics | S/W Center | Sung-Jae Lee, Seungkeun Lee 2016. 11. 17 Transition of Tizen Developer Environment
Transcript
Page 1: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Tizen .NET

Samsung Electronics | S/W Center | Sung-Jae Lee, Seungkeun Lee

2016. 11. 17

Transition of Tizen Developer Environment

Page 2: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Intro

Language

API & Framework

Tools

Collaborations & Roadmap

01

09

15

33

38

Index

Page 3: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Productivity

C/C++

?

Page 4: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Tizen Studio

Page 5: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Tizen Studio

Release Tizen Studio 1.0 with New UX

Intuitive User Interface & light-weight Tools without unnecessary modules

Tizen Studio 1.0.1 supports 2.3.2 platform (Gear S3)

Page 6: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Introduce Tizen .NET

+

Page 7: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

.NET is …

The development platform used by millions of developers

Create apps and services on any device and OS

Amazing performance and great developer productivity

Request / second (millions) based on preliminary internal tests. * https://www.microsoft.com/net/intro

Page 8: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Improve development experience

Managed language, garbage collection, reflection, …

.NET framework, ASP.NET, …

IntelliSense, historical debugging, …

Page 9: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Easy cross-platform development

Runs on Windows, macOS and various Linux distributions including RedHat and Ubuntu

Supporting Portable Class Libraries based application development

Now defines .NET Starndard API

Page 10: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Easy IoT development

.NET connects Cloud and Devices with same language

ASP.NET is an open source web framework for building modern web apps and services

Windows 10 IoT Core runs .NET

AWS

Page 11: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Tizen’s .NET support

Language

Page 12: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Trend

Native Managed Language Web

C/C++

Java

C#

Objective-C/Swift

JavaScript

HTML5

ReactNative

Page 13: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

C#

A multi-paradigm programming language, developed by Microsoft

Approved Standard by ECMA-334 and ISO/IDC 23270:2006

Designed as a primary language for Common Language Infrastructure (ECMA-335)

Collections

many more… File I/O

LINQ

Threading Delegates

Page 14: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Preference & Popularity

4th popular programming language in the world

1.16 million developers worldwide

* http://www.tiobe.com/tiobe-index/

Page 15: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Performance

VM based language

2~3 times slower than C, 5 times faster than JavaScript

Better performance with AOT(Ahead of Time Compilation) and .NET Native

* http://benchmarksgame.alioth.debian.org/u64q/ which-programs-are-fastest.html

Page 16: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Implementation - .NET Core

General purpose development platform; Runtime & Standard Library

Maintained by Microsoft and the .NET community on GitHub

Supporting Windows, macOS and Linux, and can be used in device, cloud, and embed

ded/IoT scenarios.

* https://docs.microsoft.com/en-us/dotnet/articles/core/

Page 17: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Tizen’s .NET support

Language API & Framework

Page 18: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Tizen Platform-Specific API

Covers all Tizen Native APIs

OOP design

Currently, 30% of Native APIs are converted in C#

Will support 4,758 APIs from 100 modules, by early 2017

Page 19: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

.NET Standard API

A set of APIs to unify the .NET Framework, .NET Core, and Xamarin platforms

Developers using existing skills, teams, and code to build Tizen apps

“One library to rule them all”

Page 20: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Xamarin API & Xamarin.Forms

+

Efficient cross-platform development

Build native UIs for iOS, Android and Windows a single, shared C# codebase

Now, Tizen also

Page 21: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Introduction to Xamarin.Forms support on Tizen

by Seungkeun Lee

Page 22: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Introduction to Xamarin.Forms

Shared C# App Logic

Xamarin.Forms

iOS Android Windows

Create cross-platform user interfaces, quickly

Share more code across iOS, Android & Windows Phone

Provide more than 40 controls, pages and layouts

Page 23: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Page represent cross-platform mobile application screens

Layout is container used to compose views into logical structures

View is the controls displayed on the user interface

3 Key Components

Page 24: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Pages

* Reference : https://www.xamarin.com/forms

Most prominently used as the top level UI element

Page 25: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Layouts

* Reference : https://www.xamarin.com/forms

Typically contains logic to set the position and size of child elements

Page 26: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Views

Activity Indicator

BoxView Button DatePicker Editor Entry

Image Label ListView Map OpenGLView Picker

ProgressBar SearchBar Slider Stepper TableView TimePicker

WebView EntryCell ImageCell SwitchCell TextCell …

Page 27: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Custom Components

* Reference : http://www.telerik.com/xamarin-ui/

Page 28: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

MVVM (Model-View-View Model)

XAML (Extensible Application Markup Language)

Data Binding

3 Key Concepts

Page 29: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

MVVM

* Reference : https://msdn.microsoft.com/en-us/library/hh848246.aspx

View ViewModel Model

Send Notifications Update

Data Binding and Commands Send Notifications

UI Logic Presentation Logic Business Logic and Data

Provides a clean separation between application logic and the UI

Easier to test, maintain and evolve

Page 30: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

XAML

XML-based markup language that is used to describe user interface

<?xml version="1.0" encoding="utf-8"?>

<ContentPage x:Class="MainPage">

<StackLayout>

<Label Text="Hello, Forms!"

TextColor="Red"/>

</StackLayout>

</ContentPage>

public class MainPage : ContentPage

{

public MainPage ()

{

Content = new StackLayout

{

Children = {

new Label

{

Text = "Hello, Forms!",

TextColor = Color.Red

}

}

};

}

}

C# XAML

Page 31: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Data Binding

BindableObject

Bindable Property

Object

Property

Binding Target Binding Source

Binding Ex) Button

Ex) Text

Ex) Person

Ex) Name

* Reference : https://msdn.microsoft.com/en-us/library/ms752347

Process that establishes a connection between the application UI and business logic

Essentially the bridge between your binding target and your binding source

Page 32: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Amazing apps with Xamarin

* Reference : https://www.xamarin.com/customers

Page 33: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Shared C# App Logic

Xamarin.Forms

iOS Android Windows TIZEN

Tizen Application with Xamarin.Forms

Page 34: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Xamarin.Forms on Tizen

Xamarin.Forms

ContentPage ContentPage

Renderer elm_box

StackLayout Layout

Renderer elm_box

Label

Button

Label Renderer

Button Renderer

elm_label

elm_button

Platform Renderer Native UI Framework (EFL)

Tizen Specific Platform Independent

C# C

Page 35: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Tizen’s .NET support

Language API & Framework Tools

Page 36: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,
Page 37: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Visual Studio Tools for Tizen

Provides device emulators and an extension to Visual Studio

IntelliSense and debugging capabilities

Tizen supports for TVs, Wearables, and other IoT devices will be added in future release

Visual Studio Tools for Tizen

+ →

Tizen C# Application

Page 38: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Visual Studio Tools for Tizen Demo Video

by Sidharth Gupta

https://channel9.msdn.com/events/Connect/2016/200

Page 40: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Microsoft

Samsung collaborates with Microsoft on open source projects

Enabling .NET support for the Tizen operating system running on 50 million Samsung

devices, including TVs, wearables, mobile and other IoT devices, around the world

Page 41: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

.NET foundation

Samsung joined the .NET foundation Technical Steering Group in June 2016

Contributing in the area of ARM support to .NET Core, and Xamarin.Forms for Tizen

Page 42: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Teams

More than 100 developers in Samsung

From Korea, China, India, Russia and Poland …

Page 43: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Tizen .NET

Tizen’s .NET support will be officially released and shipping on Samsung devices,

including SMART TVs, in 2017

Page 44: Transition of Tizen Developer EnvironmentGeneral purpose development platform; Runtime & Standard Library Maintained by Microsoft and the .NET community on GitHub Supporting Windows,

Copyright ⓒ 2016 SAMSUNG ELECTRONICS. ALL RIGHTS RESERVED

THANK YOU


Recommended