XAML のこれまでとこれから、今「やる」べき意義

71
1 XAML のこれまでとこれから、 今「やる」べき意義
  • date post

    12-Apr-2017
  • Category

    Technology

  • view

    729
  • download

    0

Transcript of XAML のこれまでとこれから、今「やる」べき意義

1

XAML のこれまでとこれから、今「やる」べき意義

2

Ken Azuma

Speaker :東 賢(Ken Azuma)

インフラジスティックス・ジャパン株式会社

代表取締役/シニアUXアーキテクト

「全ての状況における生産性の向上」と

「優れた UI / UX をお届けすること」の

2つをコアバリューとして、様々な形で

アプリケーションにかかわる皆様が、

優れたユーザーインターフェイスを通じ、

満足度の高いサービスを展開されるための

様々なお手伝いをさせていただいております。

fMicrosoft MVP

Windows Touch & Tablet PC

Blog

3

2006 年設立、本社所在地: 東京都渋谷区

会社概要

Copyright 2015 Infragistics Japan Co., Ltd.

社名 Infragistics Japan Co., Ltd.インフラジスティックス・ジャパン株式会社

設立 2006 年 8 月

代表取締役 東 賢

所在地 東京都渋谷区神宮前 1-20-1 井門美竹ビル 2F

電話番号 03-6892-8034

米国本社 Infragistics, Inc.1989 年創業、2000 年 ProtoViewDevelopment Corporation、Sheridan Software Systems, Inc. の合併により設立

4

インフラジスティックス・ジャパンの担当地域

4日本を含むアジア太平洋地域を担当

5

1996 年の販売開始から累計 5,000 社以上に開発ツール製品を導入

日本市場における製品導入実績

5

•プロジェクトにおける工数の削減

•提案/設計時のラピッドプロトタイピングにも利用SI

•自社製品の継続的アップグレードに伴う価値向上

•弊社製品による他のプラットフォームへの迅速な対応ISV

•セルフ開発スキーム確立における標準パーツとしての利用

•「作らない」ための弊社製品の利用IT

6

7

Windows Forms

ASP.NET

WPF

Silverlight

Ignite UI (HTML5/jQuery/AS

P.NET MVC)

NucliOS(iOS/Xamarin.iOS)

Windows UI (Windows Store

Application)

Windows Phone

Icon

Indigo StudioAndroid (CTP)

Xamarin.Forms

カテゴリ別

Internal Only 7

デスクトップ向け Web 向け タブレット・モバイル 向け デザインツール

8

Windows Forms

ASP.NET

WPF

Silverlight

Ignite UI (HTML5/jQuery/ASP.NET MVC)

NucliOS(iOS/Xamarin.iOS)

Windows UI (Windows Store

Application)

Windows Phone

Android (CTP)Xamarin.Forms

ネイティブ/ハイブリッド

Internal Only 8

9

Windows Forms

ASP.NET

WPF

Silverlight

Ignite UI (HTML5/jQuery/ASP.NET MVC)

NucliOS (iOS)

Windows UI (Windows Store

Application)

Windows Phone

Android (CTP)

Xamarin.Forms

クロスプラットフォーム

Internal Only 9

10

何故今XAMLなのか?

Windows Universal Platform

windows 10 への緩やかな移行

マイクロソフトによる継続投資

UI記述の第一言語としての位置づけ/デスクトップ以外への対応

数年前とは違うハードウェアフォームファクター

タッチパネルの普及/ワイド含む解像度の多様化

後発ゆえの言語そのものとしての完成度

11

XAMLのメリット

柔軟なレイアウトシステム

UI 定義とビジネスロジックを完全に分離できる

XMLベースの拡張性

アニメーションサポート

パフォーマンス

12

柔軟なレイアウトシステム

http://xamarin.com/forms

13

UIの構成要素をそれぞれしっかり定義可能アセット

スタイル

モーション

レイアウト

コントロール

スクリーンフロー

14

XAMLと.NETの関係

XAML

http://blogs.msdn.com/b/shozoa/archive/2014/07/23/what-s-xaml.aspx

Build / Ignite / de:code -> Impact

Store Ecosystem

Westminster- Web apps

(HTML/CSS/JS)

Astoria - Android apps

(Java/C++)

Existing store apps/games

(C++/C#/JS)

Universal windows apps

(C++/C#/JS)

Music Movies & TV

Centennial - Classic

windows apps

(C/C++/.NET/Win32 API)

Islandwoods - IOS apps

(Objective-C/C++)

2-664 All That is New in Store

Test

UpdateConvert

AppXMSI

2-692 Project Centennial

Start moving UI to XAML

Project “Westminster”Publish your website to the store

Call native Universal APIs from Javascript on your website

Mix in native code, accessible from website

Native APIs

Native APIs

if (window.Windows) {

// Create an appointment

Windows.ApplicationModel.Appointments.Appointment();

}

Trip to Barcelona3/25/2015 All Day

Notes: Return to work

2-656 Project Spartan Introducing

Android platform capabilities are redirected to Windows

• File system

• Contacts, photos,…

• Sensors

• Camera

• Hardware accelerated graphics &

Direct X

• Networking/sockets

• Application lifecycle

• Resource management

• Background execution model

• Security model

User experience

Cloud services

Platform

2-702 Project Astoria

Windows 10 Mobile Only

+

Your Android Code(Project Astoria SDK & App analysis)

+

Your app in the

Windows Store

Your IDE(Project Astoria Plugins)

Your dev

machine

Build a Windows app with your Android code

+

Windows

Magic

Live tiles

IntelliJ

Android

Studio

Eclipse

Windows

Mac

2-702 Project Astoria

Write Universal Windows Apps in Objective-C

Objective-C language support

• Compiler and Runtime

Useful and usable APIs

• iOS API compat

Tools

• Editor / Workflow

• Project import

3-610 Compiling Objective-C

Tooling

Integrated Visual Studio Development

Xcode projects imported to Visual Studio

Integrated language support: syntax highlighting, autocomplete

Full debugging: breakpoints, stack traces, …

Universal API Interop

3-610 Compiling Objective-C

Xcode projects imported to Visual Studio

Shared project settings, imported from Xcode

3-610 Compiling Objective-C

Windows Windows Mobile

Universal Windows

Apps

Classic Windows

Apps

X

Windows Phone

7,8,8.1 apps

X

Existing Windows

Store Apps (WinRT)

X

2-617 Introducing App Model

2-779 Navigation and Windowing

C# + XIB C# + AXML C# + XAML

Native UI Native UI Native UI

Continuum

Continuum

Build / Ignite / de:code -> Message

ペースレイヤリング

Web technologies

Native platform technologies

2-627 Strategies for Developing Cross-Platform Applications with Visual Studio 2015

Browser-based applicationsVisual Studio tools for

Apache Cordova

Visual C++ for cross-platWin32

Desktop apps – WPFUniversal Windows Apps

.NET

2-627 Strategies for Developing Cross-Platform Applications with Visual Studio 2015

.NET and Xamarin / Tools for Apache Cordova

C# + XIB C# + AXML C# + XAML

Native UI Native UI Native UI

Black Box

2-627 Strategies for Developing Cross-Platform Applications with Visual Studio 2015

C# + XIB C# + AXML C# + XAML

Native UI Native UI Native UI

40

41

Windows API iOS API

Android API

各プラットフォームのネイティブAPIを

100%カバー

42

ビジネスロジックを共通にしてUIはそれぞれに最適化

43

ビジネスロジックだけでなくUIも共通化

44

Global Sales Dashboard

45

Financial App

Build / Ignite / de:code -> Direction

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

320epx

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

720epx

720epx

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

1024epx

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

2-658 Design: UX Patterns and Responsive Techniques for Universal Windows Apps

Infragistics -> XAML

71