「C++Builderでモバイル開発にトライ! ベータ評価レポート」

Similar documents
28th Embarcadero Developer Camp

今どきのC++開発をもっと楽にする3つの武器

「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」

新バージョンDelphi/400 XE7ご紹介 - マルチデバイスデザイナ機能で開発効率アップ! -

CodeGear Developer Camp

25th Developer Camp

Windows開発者のためのFireMonkeyモバイル開発入門

「基礎から学ぶビジュアルAndroidアプリ開発 今日からあなたもAndroidデベロッパー」

初 めての ios アプリケーション iphone Form TLabel TButton. 図. コントロールの 配 置 Button OnClick Button. 00

21st Embarcadero Developse Camp W5

20th Embarcadero Developer Camp

25th Developer Camp

21st Embarcadero Developer Camp T9

ステップアップ! モバイルアプリケーション開発

25th Developer Camp

MVP for VB が語る C# 入門

10th Developer Camp - B5

Microsoft PowerPoint - visualprogram.ppt

マルチデバイス開発を強化するエンバカデロのRADテクノロジー

--

PowerPoint プレゼンテーション

20th Embarcadero Developer Camp

NFC EXPRESS ASUS NFC Express は Windows 8 対応の外付けデバイスです NFC 対応のスマートデバイス または付属の NFC タグをタッチするだけで 簡単に様々なアクションを実行することができます NFC Express をインストールする NFC Experss

[Unifinity]運用マニュアル

Windowsユーザでも 手軽に作れるiPhoneアプリ

脱Windows XPから一気にマルチデバイス対応を目指す実践テクニック

25th Developer Camp

IBM i のスマート・デバイス活用【HATSのiPhone / iPadサポート編】

28th Embarcadero Developer Camp

PowerPoint プレゼンテーション

ArcGIS Pro 1.1 SDK for .NET インストール ガイド

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

Delphi/400 XE5 -こんなに簡単!IBM iスマートデバイスネイティブ開発-

Java, Delphi, C++Builderユーザのためのメモリリーク, ボトルネックの検出手順

Workspace MDM VPP サーバートークン年次更新マニュアル 最終更新日 2019 年 6 月 14 日 (Web サイト ver.9.6.0) NTT コミュニケーションズ株式会社

PowerPoint プレゼンテーション

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー

Enterprise Architect 12.0 機能ガイド

Visual Studio with Cordova クロスプラットフォーム開発の全貌

Embarcadero Technologies

Release Notes

CodeGear Developer Camp

KDDI Smart Mobile Safety Manager Apple Business Manager(ABM) 運用マニュアル 最終更新日 2019 年 4 月 25 日 Document ver1.1 (Web サイト ver.9.6.0)

24th Embarcadero Developer Camp

7th CodeGear Developer Camp

Qlik Sense のシステム要件

7th CodeGear Developer Camp

Windows Web Windows Windows WinSock

Prog2_15th

WebReportCafe

CodeGear Developer Camp

ios 12, Android 9 時代の 今からでも始められるモバイル開発入門 第 36 回エンバカデロ デベロッパーキャンプ 株式会社シリアルゲームズ取締役 / AppDiv3 マネージャー細川淳 本文書の一部または全部の転載を禁止します 本文書の著作権は 著作者に帰属します

SharpShooter Reports.WPF 基本的な使い方 Last modified on: November 15, 2012 本ドキュメント内のスクリーンショットは英語表記ですが SharpShooter Reports JP( 日本語版 ) では日本語で表示されます

Prog2_12th

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

Embarcadero Developer Camp

f3

PowerPoint プレゼンテーション

JavaプログラミングⅠ

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

CodeGear Developer Camp

Android アプリを作るための環境設定 Android アプリを作るのに必要なものは Android SDK と Java 開発環境の Eclipse です 環境設定作業の概要はまず Android SDK と Eclipse をそれぞれインストールします その後 Eclipse を起動し An

video converter appユーザーガイド

ミガロ.製品 最新情報

CodeGear Developer Camp

アドイン版 ********************************************* インストール手順書 *********************************************

TestDesign for Web

HP Touchpoint Manager Windows 10 Mobile 登録手順

スライド 1


3. クラスリンク ( 先生の IP アドレス >:< ポート >) を生徒と共有して生徒がブラウザーから接続できるようにします デフォルトのポート番号は 90 ですが これは [Vision 設定 ] から変更できます Netop Vision Student アプリケーションを使

f5

クイックセットアップ for モバイル(iOS/Android)

PowerPoint プレゼンテーション

<4D F736F F D20837D815B B838B837A838B835F E836782CC91E391D68EE892692E646F63>

Dropbox にファイルを追加する Dropbox フォルダの場所を決め 使い始める準備が整いま した さあ ファイルを Dropbox フォルダに入れましょう ステップ 1 ファイルを Dropbox へドラッグアンドドロップします ステップ 2 青色のアイコンが表示され ファイルが Dropb

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

Works Mobile セットアップガイド 目次 管理者画面へのログイン... 1 ドメイン所有権の確認... 2 操作手順... 2 組織の登録 / 編集 / 削除... 6 組織を個別に追加 ( マニュアル操作による登録 )... 6 組織を一括追加 (XLS ファイルによる一括登録 )...

モバイル統合アプリケーション 障害切り分け手順書

APEX Spreadsheet ATP HOL JA - Read-Only

PowerPoint Presentation

c5

一般法人向け Office 365 の紹介 Office 2007 がデスクトップアプリケーションのスイートであるように 法人向けサブスクリプションの Office 365 は 最新バージョンの Office デスクトップアプリケーションを含む 強力なオンラインサービスを提供するスイートです Off

新デザインの概要 目次 トップ画面 機器画面 メニュー画面 概要 組織 ユーザー 機器 証明書管理 管理 ブラウザー Zone Management 2

RAD Studio 2010で Webサービスを構築するための WindowsR 7上での IIS設定

クイックセットアップ for モバイル(iOS/Android)

(Microsoft PowerPoint - ClickFramework.ppt [\214\335\212\267\203\202\201[\203h])

1 シミュレーションとは何か?

ファイルをアップロードする場合は BOX2 画面で + をタップし ギャ ラリーからアップロード ストレージからアップロード を選択します フォルダを作成する場合 フォルダの作成 をタップします フォルダ名を入力して > をクリックするとフォルダが作成されます ギャラリーからアップロード を選択した

ObjectPartner Pro

2 / /08/07 16:53 図 2 スマートフォンの影響を きく受けたデスクトップ環境 2012 年 3 29 にリリースされた Ubuntu LTS ベータ 2 のデスクトップ画 です このようなデスクトップ環境は スマートフォンやタブレットで成功している機能などを取

C#の基本

Microsoft PowerPoint - はじめてのDataSnapアプリケーション_

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

Embarcadero Developer Camp

コードテンプレートフレームワーク 機能ガイド 基礎編

Delphi XE 機能評価ガイド

パターン化されたロジックのコンポーネント化

PowerPoint プレゼンテーション

居場所わかるくん CMX 連携設定 操作ガイド 2019 年 4 月

Transcription:

C4 C++ テクニカルセッション C++Builder でモバイル開発にトライ! ベータ評価レポート (ver032) NTT データビジネスブレインズシニア スペシャリスト伊賀敏樹

1 はじめに 2

はじめに 発表内容については私自身の見解であり 必ずしも所属企業および所属組織における立場 戦略 意見を代表するものではありません 3

アジェンダ はじめに アジェンダ 自己紹介 C++Builder ってどんなもの? ベータ評価環境 ベータ デモ まとめ Q&A 4

2 自己紹介 5

自己紹介 業務 NTT データビジネスブレインズに勤務 多種多様なシステム構築に従事 方式屋 フレームワーカー 実プロジェクトにプログラマーとしての投入 NTT データビジネスブレインズについて NTT データビジネスブレインズは 2003 年に NTT データおよび日本板硝子による株式構成によって設立された IT を活用したトータルソリューションを提供する会社です さまざまな情報システム構築にたずさわり またパッケージソフトの開発および販売をおこなうなど 多様なビジネスを展開しています 日本板硝子におけるシステム構築で培ったノウハウと NTT データの高い技術力を武器に 法人顧客を中心としてビジネスを拡大していっております 詳細は www.nttdbb.com をご覧ください 6

自己紹介 ライター ブロガーいがぴょんの日記 http://www.igapyon.jp/igapyon/ http://d.hatena.ne.jp/igapyon/ テクニカル ライター書籍 / 雑誌 / Web 記事の執筆 いま いがぴょんの C++ 言語入門 ~ C++Builder でビジュアルプログラミング http://www.embarcadero.com/jp/cbfan/cpp-lang/ 7

自己紹介 OSS blanco Framework 開発フレームワーク Benten 翻訳支援ツール Eclipse 日本語化 翻訳作業そのもの 言語パック ( サードパーティ版 ) Pleiades への翻訳投込 その他多数の OSS を Develop 8

プログラミング言語経歴 業務における プログラミング言語の 利用経歴分布 ( 小学校 中学校時代のマシン語経験などは除く ) 3 Java 単位 : 年 7 13 C/C++ C#.NET C++ 経験のほとんどは Visual C++ によるもの 9

マイブーム LLVM / Clang http://llvm.org/ これも C++Builder に注目する理由のひとつ 10

3 C++Builder って どんなもの? 11

C++Builder ってどんなもの? (1/2) とても長い歴史をもつ C++ 統合開発環境 1997 年 ver.1 2010 年 XE (ver.15) 2013 年 XE5 (ver.19) 参考 : Visual C++ 1.0 は 1993 年 統合開発環境は Windows 上で動作 Delphi (Object Pascal) の C++ 版 新機能は Delphi が基本的に優先される 単体で動作できるロードモジュール (EXE) を生成可能 2Way ビジュアルデザイナ 12

C++Builder ってどんなもの? (2/2) マルチデバイス対応 強力なコンポーネント関連機能 コンポーネントの利用が便利 同梱コンポーネントが充実 コンポーネントの作成が非常に簡単 高い生産性を実現できる そして いよいよモバイルデバイス対応 New! 13

C++Builder の画面イメージ 14

C++Builder のソースコード基本構成 ファイル名 ProjectSample.cbproj プロジェクトファイル ファイル形式 XML ProjectSample.cbproj.local ProjectSample.cpp ProjectSamplePCH1.h UnitSample.h UnitSample.cpp UnitSample.fmx プロジェクトファイル エントリポイントを含むソースファイル プリコンパイル済みヘッダファイル フォームのヘッダファイル フォームのソースファイル フォーム (FireMonkey) のデザイン情報 XML テキストファイル テキストファイル テキストファイル テキストファイル テキストファイル 15

ProjectSample.cpp #include <fmx.h> #pragma hdrstop #include <tchar.h> USEFORM("UnitSample.cpp", FormSample); extern "C" int FMXmain() { try { Application->Initialize(); Application->CreateForm( classid(tformsample), &FormSample); Application->Run(); } catch (Exception &exception) { Application->ShowException(&exception); } catch (...) { try { throw Exception(""); } } catch (Exception &exception) { Application->ShowException(&exception); } } return 0; 比較的シンプルで直観的なコード FireMonkey アプリケーションのエントリポイント 16

ProjectSamplePCH1.h #include <fmx.h> #include <tchar.h> シンプルで直観的なコード プリコンパイル済みヘッダファイル 17

UnitSample.h #ifndef UnitSampleH #define UnitSampleH #include <System.Classes.hpp> #include <FMX.Controls.hpp> #include <FMX.Forms.hpp> #include <FMX.StdCtrls.hpp> #include <FMX.Types.hpp> シンプルで直観的なコード class TFormSample : public TForm { published: // IDE で管理されるコンポーネント TButton *ButtonSayHello; TLabel *LabelMessage; void fastcall ButtonSayHelloClick(TObject *Sender); private: // ユーザー宣言 public : // ユーザー宣言 fastcall TFormSample(TComponent* Owner); }; extern PACKAGE TFormSample *FormSample; フォームのヘッダファイル #endif 18

UnitSample.cpp #include <fmx.h> #pragma hdrstop #include "UnitSample.h" #pragma package(smart_init) #pragma resource "*.fmx" TFormSample *FormSample; シンプルで直観的なコード fastcall TFormSample::TFormSample(TComponent* Owner) : TForm(Owner) { } void fastcall TFormSample::ButtonSayHelloClick( TObject *Sender) { LabelMessage->Text = " ようこそ こんにちは "; } フォームのソースファイル 19

UnitSample.fmx object FormSample: TFormSample Left = 0 Top = 0 Caption = #12469#12531#12503#12523 ClientHeight = 152 ClientWidth = 233 FormFactor.Width = 320 FormFactor.Height = 480 FormFactor.Devices = [dkdesktop, dkiphone, dkipad] DesignerMobile = False DesignerWidth = 0 DesignerHeight = 0 DesignerDeviceName = '' DesignerOrientation = 0 object ButtonSayHello: TButton Height = 22.000000000000000000 Position.X = 72.000000000000000000 Position.Y = 96.000000000000000000 TabOrder = 0 Text = #12371#12435#12395#12385#12399'!' Width = 80.000000000000000000 OnClick = ButtonSayHelloClick end object LabelMessage: TLabel Font.Size = 18.000000000000000000 StyledSettings = [ssfamily, ssstyle, ssfontcolor] Height = 41.000000000000000000 Position.X = 8.000000000000000000 Position.Y = 16.000000000000000000 Text = #25384#25334#34920#31034#38936#22495 Width = 217.000000000000000000 end end 通常は C++Builder のデザイン画面で編集 可読性の良いテキストファイル フォーム (FireMonkey) のデザイン情報 20

私にとっての C++Builder 商用 Clang ベース統合開発環境 ios (New!) および Android ( 予定 ) 開発環境 C++11 学習環境 連載記事執筆対象 ( 苦笑 ) 21

4 ベータ評価環境 22

ベータ評価環境 Apple MacBook Pro (A1398) Xcode 5.0.x Parallels Desktop 9 for Mac Microsoft Windows 8 Pro (64 bit) Apple iphone 5 (ios 7.0.x) Apple ios Developer Program インターネット接続環境 Wi-Fi 環境 エンバカデロ RAD Studio XE5 Architect C++ ios beta C++Builder は RAD Studio に含まれます 23

5 ベータ デモ 24

評価にさきだって乗り越えたもの Apple ios Developer Program へ登録 私は銀行振込を選択しました Apple に電話をする必要がありました 時間的な余裕を割り当てておきましょう デベロッパ証明書やデバイス登録など作業一式 Delphi でかんたん ios アプリプログラミング を参考にしながら作業を実施しました OS X Windows 8 ios への慣れ! 特に Windows 8 で手こずりました!? 私には外付けマウスが必要でした 25

C++Builder の起動 その 01 OS X 上で Parallels Desktop をもちいて Windows 8 を起動 C++Builder の起動 その 02 RAD PAServer の起動 26

デスクトップアプリケーション その 03 モバイルアプリケーションに先立って C++Builder の FireMonkey デスクトップアプリケーション ウィザードを体験 Windows アプリケーションを MAC OS X 用に切り替えて動作 コード断片 TLabel Text: 初めてのアプリ TButton Text: こんにちは OnClick: ShowMessage( Hello! ); 27

デモ実行の前の準備 その 04 Refrector の利用 iphone 5 の AirPlay によって iphone の画面を Mac OS X 上の Refrector に表示 iphone 5 の画面を Mac OS X 上に転送する有償アプリケーション 28

モバイルアプリケーション ウィザード C++Builder の FireMonkey Mobile Application ウィザードをひととおり体験 タブレット用マスタ/ 詳細 ウィザードは タブレット用となっており iphone 5 には不向きなものです 統合開発環境が提供する 新規プロジェクトウィザード には 利用者に向けたさまざまなメッセージが含まれていることがあります Windows (32bit) としても動作させてみましょう 29

Blank Application その 05 Blank Application ウィザード コード断片 TLabel Text: はじめてのモバイルアプリ TButton Text: こんにちは OnClick: ShowMessage( こんにちは ); 30

スマートフォン用マスタ / 詳細 その 06 スマートフォン用マスタ / 詳細ウィザード コード断片 ( なし ) 表示 LiveBinding デザイナ で内容をおおまかに確認 その 11 Windows 上で動作させてみる 31

タブ その 07 タブウィザード コード断片 ( なし ) 画面下部のタブを操作 32

ナビゲーション付きタブ その 08 ナビゲーション付きタブウィザード コード断片 ( なし ) Next と Back が加わった 33

ナビゲーション付きヘッダー / フッター その 09 ナビゲーション付きヘッダー / フッターウィザード コード断片 ( なし ) タブなしで Next と Back のみ付いたもの 34

ヘッダー / フッター その 10 ヘッダー / フッターウィザード コード断片 ( なし ) 単にヘッダーとフッターが付いたもの 35

Delphi 向けモバイルチュートリアル モバイルチュートリアル :Delphi モバイルアプリケーション開発 (ios および Android) http://docwiki.embarcadero.com/radstudio/xe5/ja/%e3%83%a2%e3%83%90%e3%82%a4%e3%83%ab_%e3% 83%81%E3%83%A5%E3%83%BC%E3%83%88%E3%83%AA%E3%82%A2%E3%83%AB%EF%BC%9ADelphi_%E3 %83%A2%E3%83%90%E3%82%A4%E3%83%AB_%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83 %BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA%EF%BC%88iOS_%E3%81%8A%E3%82% 88%E3%81%B3_Android%EF%BC%89 とても良くできたチュートリアル ( ただし Delphi 向け ) C++Builder に読み替えて操作 Android の手順はスキップ ios シミュレータの手順はスキップ. は -> に読み替えるとうまくいくことが多い 36

Web ブラウザコンポーネントを使用する その 12 Blank Application ウィザード コード断片 TToolBar ( 上 ) TButton ( 左上 ) StyleLookup: priortoolbuttonbordered OnChange: WebBrowser1->GoBack(); TEdit ( 上 TButton をのぞく残りスペース ) OnChange: WebBrowser1->Navigate(Edit1->Text); TWebBrowser Align : alclient 37

コンボボックスコンポーネントを使用してリストから項目を選択する その 13 ヘッダー / フッターウィザード コード断片 TComboBox ( 比較的上部 ) 項目エディタ 項目の追加 構造ペインで値を更新 TCalendar ( 画面中央 ) 38

写真を撮って共有する その 14 Blank Application ウィザード コード断片 TToolBar ( 上 ) TButton ( 左上 ) StyleLookup: cameratoolbuttonbordered 標準アクション メディアライブラリ TTakePhotoFromCameraAction イベント : OnDidFinishTaking: Image1->Bitmap->Assing(Image); TButton ( 上 ) StyleLookup: searchtoolbuttonbordered 標準アクション メディアライブラリ TTakePhotoFromLibraryAction イベント : OnDidFinishTaking: Image1->Bitmap->Assing(Image); TImage ( 中央 ) Align: alclient TActionList 39

位置センサを使用する その 15 ヘッダー / フッターウィザード コード断片 TWebBrowser Align : alclient TLocationSensor Active: True Distance: 1 イベント : OnLocationChange char buf1[256]; char buf2[256]; sprintf(buf1, "%2.6f", NewLocation.Latitude); sprintf(buf2, "%2.6f", NewLocation.Longitude); UnicodeString url = "https://maps.google.com/maps?q="; url += buf1; url += ","; url += buf2; url += "&output=embed"; WebBrowser1->Navigate(url); 40

RAD Studio サンプル http://sourceforge.net/p/radstudiodemos/co de/head/tree/branches/ via ID:29490 41

6 まとめ 42

まとめ (1/2) C++Builder によって モバイルデバイスのアプリケーション開発が簡単に コンポーネントの充実ぐあいが重要 開発したい機能に集中できる モバイルデバイスごとの UI デザインガイドライン おのおのの UI 文化についても関心を Delphi のコードを読めるといろいろ便利 Oracle PL/SQL のコードが読める人は有利!? 43

まとめ (2/2) Delphi + LLVM / clang C++Builder RAD Studio 年間サポート / メンテナンスプログラム Android 対応が楽しみ 44

7 Q&A 45