SlideShare a Scribd company logo
Session ID:APP010
本情報の内容(添付文書、リンク先などを含む)は、Microsoft Tech Summit 開催日(2016年11月1-2日)時点のものであり、予告なく変更される場合があります。
shunsuke.kawai.777
@_shunsuke_kawai
.NET 系開発者
Mobile ネイティブ開発初心者
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】
Microsoft Tech Summit
• C# によるクロスプラットフォーム開発環境。
• 2001 年に Mono プロジェクトとして発足し、
後に Xamarin 社を設立、2016 年に Microsoft
社に買収された。
• 現在は Visual Studio に同梱され、OSS 化、ラ
イセンスの無料化がされている。
(参考:https://www.jmas.co.jp/xamarin/)
これから始める Xamarin ~環境構築から
iOS/Android/UWP アプリのビルドまで~
https://channel9.msdn.com/Events/de-code/2016/DEV-022
Xamarin Native
Shared C# App Logic
(PCL)
Shared XAML/C# UI Code
(Xamarin.Forms)
iOS
C# UI
Shared C# App Logic
(PCL)
Android
C# UI
Windows
C# UI
Xamarin.Forms
Xamarin Native
Shared C# App Logic
(PCL)
Shared XAML/C# UI Code
(Xamarin.Forms)
iOS
C# UI
Shared C# App Logic
(PCL)
Android
C# UI
Windows
C# UI
Xamarin.Forms
Microsoft Tech Summit
App010 【xamarin 開発の真実】
Web アプリ
DBWebサイト
イベントアプリ
iOS Android Windows
セッション受付 QR コード読み取りアプリ
Azure Web Jobs &
Azure Mobile Engagement
(Push 通知等)
参加登録
登録情報更新
・・・
REST
API
App010 【xamarin 開発の真実】
Microsoft Tech Summit
Android.Widget.CheckBox
??? Windows.UI.Xaml.
Controls.CheckBox
×
⇒iOS にはない
⇒Xamarin.Forms 標準
コントロールには
ない
UWP
Android.Widget.Switch
MonoTouch.UIKit.UISwitch Windows.UI.Xaml.
Controls.ToggleSwitch
Xamarin.Forms.Switch
Android
iOS
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】
[assembly: ExportRenderer(typeof(Switch), typeof(ToggleSwitchRenderer))]
namespace JMAS.MicrosoftTechSummit.UWP.Renderers
{
public class ToggleSwitchRenderer : SwitchRenderer
{
protected override void
OnElementChanged(ElementChangedEventArgs<Switch> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.OnContent = string.Empty;
Control.OffContent = string.Empty;
}
}
}
}
[assembly: ExportRenderer(typeof(CustomEntry), typeof(CustomEntryRenderer))]
namespace JMAS.MicrosoftTechSummit.Droid
{
public class CustomEntryRenderer : EntryRenderer
{
protected override void
OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
CustomEntry el = (CustomEntry)this.Element;
var nativeEditText = (global::Android.Widget.EditText)Control;
var shape = new ShapeDrawable(
new Android.Graphics.Drawables.Shapes.RectShape());
shape.Paint.Color = el.BorderColor.ToAndroid();
shape.Paint.SetStyle(Paint.Style.Stroke);
nativeEditText.Background = shape;
}
}
}
[assembly: ExportRenderer(typeof(CustomLabel),
typeof(CustomLabelRenderer))]
namespace JMAS.MicrosoftTechSummit.Droid.Renderers
{
public class CustomLabelRenderer : LabelRenderer
{
protected override void
OnElementChanged(ElementChangedEventArgs<Label> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.LayoutChange += (s, args) =>
{
Control.Ellipsize =
Android.Text.TextUtils.TruncateAt.End;
Control.SetMaxLines(2);
};
}
}
}
}
Mobile 開発経験がなくてもなんとかなった
Microsoft Tech Summit
Microsoft Tech Summit
https://apps.dev.microsoft.com/
※ iOS、Android の場合は Renderer が必要
Microsoft Accountの認証画面が表示される
• Microsoft Graph の概要
https://graph.microsoft.io/ja-jp/docs
Microsoft Accountの情報を取得できる
Microsoft Tech Summit
イベントアプリ
App Service
Mobile Apps
Web Jobs
Mobile Engagement
Web サーバー
Azure
イベントアプリ
App Service
Mobile Apps
Web Jobs
Mobile Engagement
Web サーバー
Azure
イベントアプリ
App Service
Mobile Apps
Web Jobs
Mobile Engagement
Web サーバー
Azure
イベントアプリ
App Service
Mobile Apps
Web Jobs
Mobile Engagement
Web サーバー
Azure
Microsoft Tech Summit
アプリと Mobile Engagement が
つながった
アプリに Mobile Engagement から
Push 通知ができた
Microsoft Tech Summit
Microsoft Tech Summit
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】
http://jxug.org/
15:40 - 16:30BREAKOUT SESSION | APP005
Xamarin と Azure で、
超効率的にクラウドと繋がる
モバイルアプリを作ろう!
DAY 2
千代田 まどか (ちょまど)氏
@ytabuchi
http://ytabuchi.hatenablog.com
• ぴーさんログ @ticktackmobile
http://ticktack.hatenablog.jp/
https://blog.xamarin.com/using-graph-sdk-xamarin-forms-mobile-apps/
https://azure.microsoft.com/ja-jp/documentation/articles/mobile-
engagement-xamarin-android-get-started/
App010 【xamarin 開発の真実】
App010 【xamarin 開発の真実】

More Related Content

PDF
Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
PDF
続Xamarinはじめました
PPTX
アプリケーション・デベロッパー 〜Xamarinによるクロスプラットフォーム開発〜
PPTX
Sl17
PDF
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
PPTX
WPF on .NET Core 3.0
PDF
Introduction Xamarin forms mac
PDF
xR Developerなら知っておきたいカメラの基礎知識
Visual Web Developer 2010 とExpression Web 4 で構築する HTML5 と JavaScript
続Xamarinはじめました
アプリケーション・デベロッパー 〜Xamarinによるクロスプラットフォーム開発〜
Sl17
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
WPF on .NET Core 3.0
Introduction Xamarin forms mac
xR Developerなら知っておきたいカメラの基礎知識

Similar to App010 【xamarin 開発の真実】 (20)

PDF
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
PDF
[MW08] de:code イベントアプリの作り方 ~ Xamarin.Forms で開発しています ~
PPTX
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
PDF
Xamarin から使う Azure
PDF
App001 .net core_アプリケーショ
PPTX
App001 .net core_アプリケーショ
PPTX
App001 .net core_アプリケーショ
PDF
MIXED REALITY に REALITY を PLUS するハプティクス技術
PDF
Xamarin概要と活用方法
PDF
Xamarin.Forms アプリケーション 設計パターン
PDF
Xamarin の特徴と開発手法概要
PDF
次期Office製品群の新しい開発モデルの解説
PDF
Xamarin概要と活用方法
PDF
NET MAUI for .NET 7 for iOS, Android app development
PPTX
App005 xamarin と_azure_で、超効率的
PDF
App005 xamarin と_azure_で、超効率的
PDF
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
PDF
App004 実践での成功例か
PPTX
App004 実践での成功例か
PDF
Xamarin の概要と活用事例
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
[MW08] de:code イベントアプリの作り方 ~ Xamarin.Forms で開発しています ~
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarin から使う Azure
App001 .net core_アプリケーショ
App001 .net core_アプリケーショ
App001 .net core_アプリケーショ
MIXED REALITY に REALITY を PLUS するハプティクス技術
Xamarin概要と活用方法
Xamarin.Forms アプリケーション 設計パターン
Xamarin の特徴と開発手法概要
次期Office製品群の新しい開発モデルの解説
Xamarin概要と活用方法
NET MAUI for .NET 7 for iOS, Android app development
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
Xamarin 概要 @ 2014/11/08 第2回 Japan Xamarin User Group Conference 西日本編
App004 実践での成功例か
App004 実践での成功例か
Xamarin の概要と活用事例
Ad

More from Tech Summit 2016 (20)

DOCX
Microsoft tech summit_稟議書テンプレート
PDF
Prd001 イノベーションを生み出す組織へ!
PDF
他社資格保有者割引
PDF
Tech summitの歩き方 開発者編
PDF
Tech summitの歩き方 データ分
PDF
Tech summitの歩き方 セキュリ
PDF
Tech summitの歩き方 クライア
PDF
Tech summitの歩き方 dev-ops編
PDF
Tech summitの歩き方 azure編
PDF
Spl006 mixed reality_の世界へようこ
PDF
Spl002 microsoft azure_の安全性と法的
PDF
Spl001 経営に効くitプロの
PDF
Snr007 red hat_×_azure_で開発と運用
PDF
Snr006 ソフトバンクが考
PDF
Snr005 レノボだから実現
PDF
Snr004 windows server_2016とnvdimmで異次元の
PDF
Snr003 次世代型 crm_環境の構
PDF
Snr002 もうvdiだけではない
PDF
Snr001 azure iaa_s_応用編~実務で
PDF
Sec020 アイデンティティ
Microsoft tech summit_稟議書テンプレート
Prd001 イノベーションを生み出す組織へ!
他社資格保有者割引
Tech summitの歩き方 開発者編
Tech summitの歩き方 データ分
Tech summitの歩き方 セキュリ
Tech summitの歩き方 クライア
Tech summitの歩き方 dev-ops編
Tech summitの歩き方 azure編
Spl006 mixed reality_の世界へようこ
Spl002 microsoft azure_の安全性と法的
Spl001 経営に効くitプロの
Snr007 red hat_×_azure_で開発と運用
Snr006 ソフトバンクが考
Snr005 レノボだから実現
Snr004 windows server_2016とnvdimmで異次元の
Snr003 次世代型 crm_環境の構
Snr002 もうvdiだけではない
Snr001 azure iaa_s_応用編~実務で
Sec020 アイデンティティ
Ad

App010 【xamarin 開発の真実】