Your SlideShare is downloading. ×
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Xamarin.iOS/android+F#で作る関数型アプリ
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Xamarin.iOS/android+F#で作る関数型アプリ

603

Published on

Xamarin Studio 5.0 から実装された F# プロジェクトテンプレートを使って iOS アプリを作成する試み。

Xamarin Studio 5.0 から実装された F# プロジェクトテンプレートを使って iOS アプリを作成する試み。

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
603
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Xamarin.iOS/Android + F#で作る関数型アプリ 増田 智明(@moonmile) .NET ラボ Micorosft MVP C# Moonmile Solutions
  • 2. 自己紹介&宣伝  増田 智明 masuda@moonmile.net  Xamarin本が出ます。 C#によるiOS、Android、Windowsアプリケーション開発入門 日経BP社  de:code で発売します。
  • 3. Xamarinとは?  C#でクロスプラットフォーム開発  Xamarin Studio  Xamarin.iOS  Xamarin.Android  前身が mono  MonoDevelop  ASP.NETをLinuxで動かすなど  去年の11月頃にMicrosoft社と提携  インサイドXamarin – Build Insider by 榎本 温 氏 http://www.buildinsider.net/mobile/insidexamarin
  • 4. Xamarin Studio 5.0 beta  iOS/Android アプリを F# で作成できる  iOSのstoryboardを使える  iOSデザイナ内蔵
  • 5. F# の特徴  .NET Framework が使える関数型言語 F# code C#/VB PCL .NET Framework 既存ライブラリの活用 既存知識の活用 C#/VB code ライブラリの利用
  • 6. F# と マルチプラットフォーム開発  Mono と .NET Framework  Windows 環境  iOS 環境  Android 環境  Linux 環境 Mono Microsoft .NET Framework iOS Android Linux Windows Windows WinRT Windows Phone MonoTouch MonoDroid
  • 7. F# と C# の組み合わせ  ひと通り、文法≒できること、は同じ  基本クラスライブラリ(Basic Class Library)  PCL(Portable Class Library) C#/VB code F# code Basic Class Library Portable Class Library
  • 8. F# で関数電卓を作る(iOS版)  Storyboard(Interface Builder)を使う  Outletを使う  MVVMパターンを利用する  INotifyPropertyChanged  ICommand  MvvmCross  ViewとLogicを分ける  Logic は Android/Window Store App と共用 Storyboard xml [<Outlet>] ViewModel Model, Logic View PCL iOS/Android/Win View code
  • 9. yacc もどき  判別共用体の利用  ラムダ式をリストに保存 type Expr = | ExprVal of Val | ExprVar of Var | ExprFunc of Func | ExprOp of Expr*Op*Expr | ExprB of LB*Expr*RB let rec evalExpr = function | ExprVal(n) -> evalVal n | ExprVar(n) -> evalVar n | ExprFunc(n) -> 0.0 | ExprOp(e1,op,e2) -> let x = evalExpr e1 let y = evalExpr e2 match evalOp(op) with | "+" -> x + y | "-" -> x - y | "*" -> x * y | "/" -> x / y | _ -> 0.0 // error | ExprB (b1,ex,b2) -> evalExpr ex
  • 10. UI は MVVMパターンで type ViewModelBase() = let propertyChangedEvent = new DelegateEvent<PropertyChangedEventHandler>() interface INotifyPropertyChanged with [<CLIEvent>] member x.PropertyChanged = propertyChangedEvent.Publish member x.OnPropertyChanged propertyName = propertyChangedEvent.Trigger([| x; new PropertyChangedEventArgs(propertyName) |]) type MainViewModel() = inherit ViewModelBase() let mutable _Text1 = "" member this.Text1 with get() = _Text1 and set(value) = _Text1 <- value base.OnPropertyChanged "Text1"
  • 11. ちょっとデモアプリは間に合わず orz  FParsec が MonoTouch/MonoDroid で動かない?ので、自前でパーサーを組み 始めるのが前日のこと。  途中ですが、コードを紹介します。
  • 12. 参考リンク  Xamarin - Build mobile apps for iOS, Android, Mac and Windows http://xamarin.com/  インサイド Xamarin Build Insider http://www.buildinsider.net/mobile/insidexamarin  The F# Software Foundation http://fsharp.org/  New York City F# User Group (New York, NY) – Meetup http://www.meetup.com/nyc-fsharp/  1) Write cross-platform mobile apps with F# - NYC Mobile .NET Developers Group (New York, NY) – Meetup http://www.meetup.com/nycmobiledev/events/176767982/  【速報】F# + Xamarin.iOS + Xamarin Studio で iPhoneアプリを作れるよ | http://www.moonmile.net/blog/archives/5825

×