Developing Tizen .NET App · Tizen%.NET%App%Project ... Run an Tizen Mobile emulator 7. Install the...

Preview:

Citation preview

1 Developing Tizen .NET App with Visual Studio Code

Taekgoo Kim Contact: taekgoo.kim@samsung.com

2

q  Brief intro to Visual Studio Code q  Our approach to VSCODE for Tizen q  Additional Tizen Tools for VSCODE q  Architecture of VSCODE for Tizen q  How to create Tizen .NET App with VSCODE for Tizen q  Release Plan

Session Topics

3 BRIEF INTRO TO VISUAL STUDIO CODE

4

Visual Studio Code

5

Visual Studio Code

Sidebar

Editor Area

Panel

Activity Bar

Status Bar

Command Palette

6

Lightweight Simple, Light and Fast

Great Eco-system Open Source Many Contributors Tons of Extensions

Multi-OS Windows, Linux and macOS

Extensible Easy to Extend

Benefits

7

Basic C# Support No VS Project Migration No Solution Support

Functionality No Project Management Basic Debug Support

UI Less Customizable

Question Marks

8 AND VISUAL STUDIO CODE FOR TIZEN

9

Our Approach

Visual Studio Code for Tizen .NET

Keep UX Simple and Lightweight

Better Functionanlity

Project Management “Cradle to Grave” Features Powerful additional tools

Multi-OS Windows, Linux, macOS

Contribution Offer wide choice to Tizen .NET developers Visual Studio Code and Tizen Community

10

Embed most features into Command Palette Interact through Command Palette Provide same user experience to VSCODE

Simple and Light

11

Create App from the templates Edit App with assistant feature* Build App Package App Run & Connect to target Install App into target Run App on target Uninstall App from target Debug App*

“Cradle to Grave”

Create

Edit

Debug Build/Package

Install/Run/  Uninstall

*  Under  development  feature

12

Components of Tizen Baseline SDK

Tizen Tools for VSCODE

C# CLI* Command Line C# Development Environment

Certificate Manager* Create and Manage Tizen Certification

Device Manager* Manage Targets View Device Logs

Emulator Manager Create and Run Tizen Emulator

SDB Connect and Send Commands to Targets

13

Tizen .NET App is composed •  Tizen C# App for Device •  Xamarin.Forms for UI

Xamarin.Forms targets .NET FW(PCL*) •  .NET Framework in Windows •  Mono Framework in macOS

Support Multi-OS based on .NET Standard 2.0 •  Change the target framework of Xamarin.Forms from .NET Framework to .NET Standard

Multi-OS Environment .NET  Core  

                               

UWP

ASP.NET  Core

.NET  Framework                                  

WPF WF

ASP.NET

PCL PCL PCL

Xamarin                

iOS

Android

OSX

Mono              

PCL PCL PCL

.NET  Standard  Library  (1.x)

*  Portable  Class  Library

14 ARCHITECTURE OF VSCODE AND TOOLS

15

C# CLI provides core functions •  Extension depends on C# CLI for

List, Create, Build, Package •  Promote Maintainability •  Promote Reusability •  Inhibit Usability •  Impose more Constraints

SDB provides connect functions •  Extension depends on SDB for

Debug, Install, Run, Uninstall

VSCODE and Baseline SDK(1/2)

 Baseline  SDK  

           

C#  CLI Package  Manager SDB

Cert.  Mgr. Device  Mgr. Emulator

Visual  Studio  Code        

C#  Extension Extension  for  Tizen  .NET

Tizen  .NET  App  Project

.NET  Core  SDK External  Tools

Tizen  Tools

<Legend>

16

C# CLI adapts .NET Core SDK •  .NET Core SDK evolving •  Depends on Build and Restore Extension runs •  Device Manager •  Package Manager •  Certificate Manager •  Emulator

VSCODE and Baseline SDK(2/2)

 Baseline  SDK  

           

C#  CLI Package  Manager SDB

Cert.  Mgr. Device  Mgr. Emulator

Visual  Studio  Code        

C#  Extension Extension  for  Tizen  .NET

Tizen  .NET  App  Project

.NET  Core  SDK External  Tools

Tizen  Tools

<Legend>

17

Host Side •  SDB pass thru GDB/MI from/to

Target •  Debug Adaptor talks from/to

VSCODE

Debugging

Extension  for  Tizen  .NET

SDB

Debug  Adaptor

Target                    

.NET  App

CoreCLR GDB-­‐JIT

LLDB-­‐SVR LLDB-­‐MI

GDB/MI

Host  Side                     GDB/MI

Visual  Studio  Code

vsc  Dbg  Protcol

Host  Side  Process

<Legend>

Target  Debug  Process

.NET  App

.NET  RunSme

18 LOOKING AROUND VSCODE FOR TIZEN

19

C# Extension for Visual Studio Code .NET Core SDK 2.0 Tizen Baseline SDK (including C# CLI)

Prerequisites

20

Function •  Create a Tizen .NET app

–  Compatible to VS for Tizen project

Steps •  Type tizen create command •  Choose or type a template •  Type project name

Results •  Tizen .NET solution created

Features: Create

21

Function •  Build a project or a solution

Steps •  Type tizen build command •  Choose or type a build target

Results •  DLL built for a project •  EXE built for a Tizen main project

Features: Build

22

Function •  Generate Tizen package

–  Target All Tizen projects in a solution level(.sln)

–  Requires certificate profile

Steps •  Type tizen package command •  Choose or type a profile

Results •  Completion Message •  TPK file(s) generated

Features: Package

23

Features: Run Tizen tools

Function •  Launch Tizen Tools

–  Emulator Manager, Certificate Manager and Tizen Package Manager

Steps •  Type tizen {tool-name} command Results •  Completion Message •  Specified tool launched

24

Features: Install/Run/Uninstall

Function •  Install Tizen .NET app to Target •  Run the app on Target •  Uninstall the app from Target Commands •  Type tizen install command •  Type tizen run command •  Type tizen uninstall command Results •  Tizen app installed on Target •  Tizen app start to run on Target •  Tizen app on Target removed

25 DEMO

26

1.  Create a simple .NET App from the template list. 2.  Edit a text message 3.  Build the app 4.  Package the app 5.  Run the Emulator Manager 6.  Run an Tizen Mobile emulator 7.  Install the app to the emulator 8.  Run the app on the emulator

Demo Scenario

27 RELEASE PLAN

28

•  May: Preview Release –  Debugging Enable, Multi-project Support

•  Aug: Beta Release –  .NET Standard 2.0 Preview Support, Full Debugging Feature Support

•  Oct: Public Release –  .NET Standard 2.0 Support, Feature Complete

Roadmap May Jun Jul Aug Sep Oct

.NET Standard 2.0 Preview 2.0 Release

.NET Core 1.0 2.0 Preview 2.0 Release

Xamarin ?? ??

Tizen Platform Tizen p4.0 M1 Tizen p4.0 M2

VS Extension Prev. 4 Release Public Release

VSCODE Extension Pre. Release Beta Release Public Release

C# CLI/Baseline SDK Pre. Release .NET Standard based Project Support Beta Release Public Release

Unknown  for  .NET  Standard  2.0

29 WRAP-UP

30

q  Brief intro to Visual Studio Code q  Our approach to VSCODE for Tizen q  Additional Tizen Tools for VSCODE q  Architecture of VSCODE for Tizen q  How to create Tizen .NET App with VSCODE for Tizen q  Release Plan

Topic Revisited

31

Try VSCODE for Tizen!!! If there is something to let us know… Please, contact me J

Thanks

Recommended