rad studio勉強会@大阪 20141206 delphi

40
新世代の開発環境 毛利春幸

Upload: mohri-haruyuk

Post on 22-Jul-2015

484 views

Category:

Mobile


9 download

TRANSCRIPT

Page 1: RAD Studio勉強会@大阪 20141206 Delphi

新世代の開発環境

毛利春幸

Page 2: RAD Studio勉強会@大阪 20141206 Delphi

とつぜんなんですが。。。

Delphi / C++Builder以外の事ってみなさんご興味あったり何かビジネスで使われたりされているでしょうか?

今回はそんな感じのお話をしようと思ってます

Page 3: RAD Studio勉強会@大阪 20141206 Delphi

「RAD Studio」 なんでも実現できる開発環境!なんですが

• 数年前まで

3Dこんな感じで見せたら

おーーーってなっていたんですが

Page 4: RAD Studio勉強会@大阪 20141206 Delphi

今では

• で?とか言われるかもです。

• WebGLやHTML5でも出来ますよね?

• WPFApplicationで出来ますよ

• Unity今タダですけど

Page 5: RAD Studio勉強会@大阪 20141206 Delphi

世間の開発環境凄いです

• 僕達が想像しているより遥かに今の開発環境は凄いことになってます。

• 僕の中で VC++6時代が最新のVCだったのですがまったく別物と思うほどになってます

Page 6: RAD Studio勉強会@大阪 20141206 Delphi

RAD Studio以外の事も知った上で

• RAD Studio以外の開発環境を知った上でRAD Studioを使うとまた違った見え方ができます

• 他社に営業プレゼンする時にもきっと役立つかもです。。。たぶん。。。

世間の目も肥えてきてます

Page 7: RAD Studio勉強会@大阪 20141206 Delphi

そんな中他社開発言語の事情

• Unity C#, JavaScriptなどproject内で混在可能です

• HTML5 JavaScript, CSS

• WPFApplication C#

• Xamarin C#

• Unrealengine C++

こう見ると やはりC#強いですそれに若者は圧倒的にC#が多いように思いますその理由として⇒

Page 8: RAD Studio勉強会@大阪 20141206 Delphi

金額面で大きな差があります

• Unity今タダで使えたりします

• Unreal Engine月額2000円ぐらいです

• WPFApplication VisualStudioなので今Community版無料です

• HTML5頑張って書けばタダです

• Xamarin 。。。。。。?

Page 9: RAD Studio勉強会@大阪 20141206 Delphi

今の時代のこの環境で

• RAD Studio Delphi / C++Builderはどう乗りきれるのか

• 「どの方面を得意とする言語なのか」とか言ってる時代では無いと思ってます

Unity とVisualStudioを例にあげてRAD Studioと比較してみたいと思います

Page 10: RAD Studio勉強会@大阪 20141206 Delphi

Unity

• 起動すると

いきなりサンプルプログラムがアピり出します。

Page 11: RAD Studio勉強会@大阪 20141206 Delphi

Unityはサンプルで遊べますw

• Unity実行した画面一部です

サンプルすごいよく出来てて遊べます

Page 12: RAD Studio勉強会@大阪 20141206 Delphi

Assetと言うObjectの組み合わせでできてます

• プレーヤーAssetにはアニメーションや画像やモデルが1つの部品となります

Page 13: RAD Studio勉強会@大阪 20141206 Delphi

サンプルの実行コード

• Unityのサンプル実行コードは

Page 14: RAD Studio勉強会@大阪 20141206 Delphi

いろんなデバイス対応してます

Page 15: RAD Studio勉強会@大阪 20141206 Delphi

Unity以外にもゲームフレームワークにcocos2d-xというのもあります

Page 16: RAD Studio勉強会@大阪 20141206 Delphi

cocos2d-xの特徴

• C++で書きます

• Mac OS, Win, Androidマルチデバイス対応です

• オープンソースです

• これも同じく良くできてます

Page 17: RAD Studio勉強会@大阪 20141206 Delphi

C++のライブラリだけなので

• XCODEで動きます

• 試してないですが VisualStudioでも動きます

Page 18: RAD Studio勉強会@大阪 20141206 Delphi

Microsoftの勢いすごくないですか?

• 最近Microsoftの勢いすごくないですか?

• タブレットサイズのOSが無料になったり

• VisualStudio Community版出したり

↓タブレットに関しては、ひょっとしたらAndroid抜くかもですよ!

Page 19: RAD Studio勉強会@大阪 20141206 Delphi

でも僕達にはDelphiがある!

• MicrosoftのタブレットOS無料の勢いが凄い中DelphiはWindowsが得意中の得意だ!

• メトロUIもだせるよー

Page 20: RAD Studio勉強会@大阪 20141206 Delphi

安心して無いですか?

• 無料版のWindowsOSは旧来のアプリ動かないバージョンがあります!

Windows 8.1 RTです

Microsoftのページでもバージョンの違いを確認できます!

Page 21: RAD Studio勉強会@大阪 20141206 Delphi

Windows RTの製品は凄い増えると思います

• なぜなら

• C#ユーザーが多いのでRT版のストアアプリが作れるからです

• 更にVS Community版は無料だからです

• XAMLがブームだからです

Page 22: RAD Studio勉強会@大阪 20141206 Delphi

Windowsタブレットが流行ると思った理由

• 僕毎週新幹線乗ってますがサラリーマンのおじさんがみんなノートPCでカタカタターーンででかい音でリターンKeyを押してるしょーじき言ってあれうるさい!

• 場所わきまえて欲しい早くタブレットの世の中にならないかな?

• Android。。。んーあのおじさんたちに使えるわけない。

Page 23: RAD Studio勉強会@大阪 20141206 Delphi

Windowsタブレットが流行ると思った理由

• 過去の遺産と自分を守る為のネットワーク管理者が多いのでセキュリティうんぬんかぬんのせいにして Androidタブレットを社内システ

ムに取り入れるようなイケてる管理者なんで1/1000だろうw

• ネットワーク管理者の事や新幹線のおじさんを想像するとこれはWindowsタブレットの時代だと思ったんですw

Page 24: RAD Studio勉強会@大阪 20141206 Delphi

ストアアプリ作るにはXAMLなんです

• XAMLって何?

• どうやってつくるの?

• 言語は何?

Page 25: RAD Studio勉強会@大阪 20141206 Delphi

XAMLって何?

Page 26: RAD Studio勉強会@大阪 20141206 Delphi

XAMLで何か作ってみます

• Visual Studioで作ります

• XAMLってのは画面を定義しているだけでFireMonkyで言うfmxみたいなものです

• 中身は C#やC++で書く事ができます

Page 27: RAD Studio勉強会@大阪 20141206 Delphi

XAML貼ってみます

• XAMLコード例です<Page

x:Class="App4.MainPage"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:App4"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d">

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"><Button x:Name="b1" Content="Button" HorizontalAlignment="Left"

Margin="64,58,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" Width="196"><Button.RenderTransform>

<CompositeTransform Rotation="0"/></Button.RenderTransform>

</Button>

</Grid></Page>

Page 28: RAD Studio勉強会@大阪 20141206 Delphi

Delphiのfmx貼ってみます

object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 480ClientWidth = 640FormFactor.Width = 320FormFactor.Height = 480FormFactor.Devices = [Desktop]DesignerMasterStyle = 0object Button1: TButtonPosition.X = 24.000000000000000000Position.Y = 40.000000000000000000TabOrder = 1Text = 'Button1'

endend

Page 29: RAD Studio勉強会@大阪 20141206 Delphi

ボタンにClickイベントをつけてみます

• XAMLの場合<Button x:Name="b1" Content="Button" HorizontalAlignment="Left"

Margin="64,58,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.5,0.5" Width="196" Click="b1_Click"></Button>

• FireMonkyの場合object Button1: TButton

Position.X = 24.000000000000000000Position.Y = 40.000000000000000000TabOrder = 1Text = 'Button1'OnClick = Button1Click

end

Page 30: RAD Studio勉強会@大阪 20141206 Delphi

Click=“b1_Click”がコードとリンクされます

[MainPage.xaml.h]ファイル

void b1_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);

てか(;・∀・)なんだこれ?

Object^⇒Delphiか!

ちなみにMFCでプロジェクト作ってみましたCMFCApplication1Dlg(CWnd* pParent = NULL);ちゃんとポインターでしたw

Page 31: RAD Studio勉強会@大阪 20141206 Delphi

XAMLもFireMonkyもMVVM向きなんですよ

• 表示側とプログラム側を分離する事でデザイナが表示側を組みながら中身の実装はプログラマが行う

• XAMLから*.fmxファイル変換とかあったら最高なんですが。。。

Page 32: RAD Studio勉強会@大阪 20141206 Delphi

Visual Studio 2013にはBlendがあります

• これでデザイナさんが画面デザインします

Page 33: RAD Studio勉強会@大阪 20141206 Delphi

Delphiもカスタムを作れば良いのです

• Delphiも同じようにカスタムをデザイナさんがデザインする事ができます

これObjectはPanel1だけなのにボタンやラジオボタンありますよね

Page 34: RAD Studio勉強会@大阪 20141206 Delphi

ちなみにこれがBlendの画面です

VisualStudio 2014からはこのBlendと本体とが統合されるような事を聞きました

Page 35: RAD Studio勉強会@大阪 20141206 Delphi

WPFApplicationは3Dも書けます

• WPFってなんでしょう?

• C#でプロジェクトを作ります

• これもXAMLです

• みた感じ同じなんですがタグが<Window />なんです

• System.Windows.Media.Media3D;があります

Page 36: RAD Studio勉強会@大阪 20141206 Delphi

WPFApplicationでDelphiみたいな3D書いてみましたw

• XAMLのGridタグの中にViewport3Dタグが埋めれるんですよw

• てことは3D空間ですよね

• てことは今までDelphiを使う皆様の想像できる自由なコントロールが可能なんですよw

Page 37: RAD Studio勉強会@大阪 20141206 Delphi

WPFApplicationその2

• こんな感じに動かせます

Page 38: RAD Studio勉強会@大阪 20141206 Delphi

WPFApplicationその2

• 現在はWPFだけですがストアアプリにも実装されそうだしマルチデバイス対応にもなりそう

Page 39: RAD Studio勉強会@大阪 20141206 Delphi

WPFApplicationその2

• 僕がこのWPFで3DサクッてかけちゃったのはやはりRAD Studioの3Dが理解しやすかったのが多いと思います

• RAD Studioで3Dを覚えてWPFApplicationで3D実装するのがWPFを覚える上でのショートカットになります

Page 40: RAD Studio勉強会@大阪 20141206 Delphi

まとめ

• 僕が待ってた時代がようやく来た感じです