SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
「Kivyによるアプリケーショ
ン開発のすすめ」
オカザキ
自己紹介
• オカザキ
• 職業:プログラマー
• http://twitter.com/dario_okazaki
• Kivyの公式マニュアルの翻訳を
有志でしています
(https://pyky.github.io/kivy-doc-ja/)
目次
• Kivyとは
• 今日の内容
• kivyの機能について
• kivyの4つの壁
• kivyのよい点と悪い点
• まとめ
• おまけ
検証環境
• Windows10
• Python3.5
• Kivy1.10
コードについて
• GITHub:https://github.com/okajun35/kivy_pyconjp
2017
• Slide:https://www.slideshare.net/secret/45D5Wuy
6FWI3X5
※コードの詳しい説明は今回はしません。
コードの詳しい説明は後日webで公開予定
このスライドは配布用です。本番はGitHub上に
あるKivyで作成したスライドで実施します
Kivyとは(1/2)
• PythonでGUIを作成するツール
• Python2/3対応
• マルチプラットフォーム(Win,Mac,Linux,RaspberryPi,android,ios)
• マルチタッチ対応
• Kv LanguageというUIを記述するメタ言語がある
• MITライセンス
Kivyとは(1/2)
• GitHub上( https://github.com/kivy/kivy )でコード
が公開されている
• 2017年現在、開発は盛んにおこなわれている
kivyの知名度(1/2)
• Python3.6から公式の「グラフィックユーザインタ
フェース FAQ」にも紹介されている
kivyの知名度(2/2)
• 「AweSome Python」 ではGUIの部門で1位
今日の内容
「Kivyで何ができるか」の紹介
Kivyで作れるアプリケーション
公式で出しているAndroidアプリがあるので
それをインストールして試してみる。
※Android端末がなくても「kivy_examples」を
インストールして、実行すれば試せます。
Kivy Showcase
• Kivy Showcas
(https://play.google.com/store/apps/details?id=org.kivy.showcase)
• UI(widget)の一覧とコードが読める
Kivy Touchtracer
• Kivy Touchtracer
(https://play.google.com/store/apps/details?id=org.kivy.touchtracer)
• タッチの軌跡を描画する
• マルチタッチ対応
Kivyの構造
• GraphicはOpenGL ESで描画
• 入力などはSDLで制御
※Windowsはver1.10でANGLE(OpenGl ESの
DirectX実装)が選択できるようになった
Kivyのファイル構造
① Pythonファイル(機能部分)とKVファイル
(UI)の2つ
② Pythonファイルのみ
1. KV言語が内部で記載されている
2. Pythonのみで構成
Kivyの機能について
ここで説明するのはごく一部の機能です
Widget
画面を構成するパーツ
• Label
• Image
• Button
etc…
Layout
画面のレイアウト
• BoxLayout
• GridLayout
• Float Layout
etc…
レイアウトの基本
• 「Layout」と「Widget」を組み合わせて作る
• 位置とサイズの指定は2パターンある
• 絶対的な指標で指定: 「pos」、[size」
• 画面サイズからの相対的な比率で指定: 「pos_hint」「size_hint」
• 優先度は「hint」で決まるサイズが優先的に決まる
• 「Layout」の基本は「BoxLayout」
• 「BoxLayout」を組み合わせると大体のレイアウトはできる
• 「Label」などの文字のサイズは動的に変更する仕組みがない・・・
文字、画像の表示
文字、画像の表示(size_hint)
Event
動作に紐づく命令を実行する
• On_Press
• On_Relese
etc…
Property
widgetの値を参照する
• NumericProperty
• ringProperty
• ListProperty
etc…
ボタンの使用
ボタンとレイアウトの使用例(1/2)
ボタンとレイアウトの使用例(2/2)
https://github.com/kiok46/Kivy-Calender
Kivy Language
• KV Languageともいう
• UI用のメタ言語
• Widget(UI)を簡単に記述できる
• CSSとBootstrap(グリッド)の概念にちかい
※KVを使用しなくてもUIは作れるが使用したほうがコードが簡潔にかける。
Animation
• 動きを付ける
• start
• stop
使用例:メニューの表示などに使う
Animationの使用
Clock
• 繰り返しや定期的な動作を行う
• schedule_interval
• schedule_once
etc…
繰り返し(時計)
繰り返し(ストップウォッチ)
実例(時計2)
そのほかの機能1
• スライド
• Carousel:ヘッダー,フッターは固定
• ScreenManager:画面全体が動く
※このスライドはScreenManagerによって作成されています
そのほかの機能2
• ファイル選択
• ドラッグ&ドロップ
etc…
Kivyにはこの他にもたくさんの機能があります
ファイル選択
ドラッグ&ドロップ
ドラッグ&ドロップ
Garden
拡張機能。個別にインストールする。
• 地図表示
• グラフ描画
etc…
地図表示
• mapview(https://github.com/kivy-garden/garden.mapview)
• OpenStreetMapを使用。
• マーカーを表示
mapview
グラフ描画
• Kivyの機能のみで実装する
• Graph(https://github.com/kivy-garden/garden.graph)
※スライドに組み込むには改造する必要あり。
https://github.com/kivy-garden/garden.graph/issues/7
• matplotlbを使用する
• matplotlib(https://github.com/kivy-garden/garden.matplotlib)
• 動作が重い
• パッケージ化の際に難易度がます
グラフ(garden.glah)
グラフ(matplotlib)
デスクトップアプリの方法
• PyInstaller(http://www.pyinstaller.org/)を使用
• 使用方法はKivyの公式マニュアル(翻訳済み)を参考※
(https://pyky.github.io/kivy-doc-ja/guide/packaging.html)
• オプションでいろいろできる
• 依存関係の設定などコツがいる
• 起動が重い
※MacOSのみ翻訳が公式より古いので、MacOSの場合は
公式を見てください
Androidアプリの作成
• Kivy Launcher
• (GooglePlayから入手)
• Pythonコードによるプレビューツール
• バックグラウンドでも動作可能
• 実行時のログ出力対応
• Pyhon2系のみ対応
• Kivy1.9.1対応で最新版には対応していない
• Buildozer(UbuntuによるVM)でのapk作成
• Python2/3系対応
• Plyer: Pythonラッパーのプラットフォーム非依存API群
• Pyjnius: PythonからJava / Android APIへ動的アクセスを
する
androidアプリの作成2
androidの開発手順は以下が理想
① PCで開発
② android端末にコードを転送
③ Kivy Launcherで動作確認
④ Buildozerでapk作成
⑤ apkでの動作確認
⑥ PlayStoreにリリース
iosアプリの作成
• Python2系のみ対応※
• toolchainを使用してXcode用のプロジェクトを
作成する
• Pyobjus:動的にiosのAPIにアクセス
※Python3系の対応は有志によって開発中
Python 3 support #184(https://github.com/kivy/kivy-ios/issues/184)
kivy Lancherでの実演
• 国会図書館の検索APIを使用して書籍検索する
• UrlRequest()を利用して非同期でリクエストを
送受信する
クロスプラットフォームについて
• どのデバイスまで視野にいれるかの検討が必要
クロスプラットフォームの一覧
※2019年をめどにすべてのデバイスでPython3系対応
およびPython2系の対応廃止予定
(https://github.com/kivy/kivy/wiki/Kivy-Python-2-Support-Timeline)
Kivyについて
GUIツールとしての機能は一通りそろっている
Kivyの4つの壁
①情報が少ない
②インストール
③KV Language
④日本語入力(IME)
①情報が少ない(1/4)
• 日本語の情報は特に少ない
• 存在していても日本語の情報は古いものがある
• 環境構築系は参考にしない方がいい
• コミュニティがないのでわからなくても聞く
人がいない
①情報が少ない(2/4)
• 公式サイト(英語) (https://kivy.org/docs/)
• 公式の翻訳
(https://pyky.github.io/kivy-doc-ja/)
※最初のうちは両方開いて比較するとよい
※翻訳の協力者募集中
①情報が少ない(4/4)
• StackOverflow(https://stackoverflow.com/)
• Google翻訳使えばなんとなくわかる
書籍(洋書だが国内でもAmazonで購入可能)
• Creating Apps in Kivy (O‘Reilly)
• Kivy :Interactive Applications and Games in Python
-Second Edition
• Kivy Blueprints
※コードはwebで無料で見れる
②インストール
• WindowsOSだとOpenGLとSDLなど依存関係のせい
でpipでインストールできない場合がある
• Python2.7/3.4について
• 公式どおりで大丈夫
• 3.5以上をインストール
• VisualStudio2015をインストール。
• glutを配置しないとインストールできない
• インストールがうまくいかない場合
• 非公式パッケージのインストールをお勧めします
(http://www.lfd.uci.edu/~gohlke/pythonlibs/#kivy)
• MacOSでもPython3.6だとうまく動作しない場合が
ある
③KV Language
kivy独自の概念なので理解するのに時間がかかる
• kviewerを使うとリアルタイムに変更が確認できる
※Python3系だとコードを書きなおす必要があるのと反映されるのはkvファイル側の記述であるところが
注意
Pythonファイル側の設定は反映されない
• Inspector()
• 「 -m inspector」 を実行時の引数につける
• widegetを選択してPropertyの値、親子関係を確認できる
• Python側でwidget内部にブレイクポイントをはって
widgetの構成を調べる
• Atomやsublimeなどだと3rdPartyによる入力補完が可能
③KV Language(kviewer)
「python -m kivy.tools.kviewer <kvファイル>」で実行
• Python3系だとKivy本体のソースを修正しないとエ
ラーになって起動しない
(http://qiita.com/gotta_dive_into_python/items/c32cd
cb58c66f0a1b840)
③KV Language(Inspector)
「python ./main.py -m inspector」で実行
• 「Ctr+e」でメニューがでる
④日本語入力(IME)2
• windows/mac/iosだと日本語入力中のIMEが表示されな
い
• SDL側の入力イベントをキャッチしていないのが原因
(http://qiita.com/dario_okazaki/items/8c6953166b336e83e417)
• @sou_anさんがプルリクしたが採択されていない。
「Add textedit event for text editing by IME #5109」
※個人で直すとcythonによるビルドが必要
SDL2のライブラリーが必要なのでビルド環境を作るのは難しい
④日本語入力(IME)2
Kivyのここがダメ
• 位置やサイズの指定がわかりにくい(pos_hint,size_hint)
• 公式マニュアルで大事なことがちゃんと書いていない・・・
• わかっている人がわかっている人に向けて書いている
• チュートリアルがあんまりよくない
• アニメーションとマルチタッチのチュートリアルであってKv
Languageのチュートリアルではない
• Kivyの正しい書き方がよくわからない
• 起動が重い
• OpenGL ESで描画しているので起動時間など非力なPCだと時間ががかる
Kivyのいいところ
• Pythonで書ける
• 簡潔に書ける
• Kivy Languleage
• 機能とUIが分離できるので見やすい
まとめ
• 簡単なアプリならすぐに作れる
• 開発は今も盛んにおこなわれている
• Kivy Languageを使うことでUIと機能が簡潔かける
• 日本語入力に問題がある
• 原因と対策はある程度見えているのでいずれできる
• モバイル開発ならPython2系
おまけ1
• Kvファイルの分割について
以下のやり方でKvファイルを読みだすことでき、
Kvファイルを分割できます
• Kvファイルないで「#:include <KVファイル>」
• Pythonファイル内で「load_file(<Kvファイル>)
おまけ2
• Kivy MD
• Google material designに準拠するwidgetのコレクション
(https://gitlab.com/kivymd/KivyMD)
• モバイルでのレイアウトに向いている
• 起動がKivy単体より重くなる

Más contenido relacionado

La actualidad más candente

Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話torisoup
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうRyuji Tsutsui
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Google Cloud Platform - Japan
 
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤株式会社MonotaRO Tech Team
 
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうGo mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうTakuya Ueda
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと信之 岩永
 
「伝わるチケット」の書き方
「伝わるチケット」の書き方「伝わるチケット」の書き方
「伝わるチケット」の書き方onozaty
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Yoshifumi Kawai
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021whywaita
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたKohei Nakamura
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについてPhoton運営事務局
 
C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。Masahiko Hashimoto
 

La actualidad más candente (20)

Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
 
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
 
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうGo mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
Go入門
Go入門Go入門
Go入門
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​SSII2020SS:  微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜​
 
C#とILとネイティブと
C#とILとネイティブとC#とILとネイティブと
C#とILとネイティブと
 
「伝わるチケット」の書き方
「伝わるチケット」の書き方「伝わるチケット」の書き方
「伝わるチケット」の書き方
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Redmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみたRedmine にいろいろ埋め込んでみた
Redmine にいろいろ埋め込んでみた
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて
 
C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。C言語なWebSocketの遊び方。
C言語なWebSocketの遊び方。
 

Destacado

Kivyでゲーム
KivyでゲームKivyでゲーム
KivyでゲームJun Okazaki
 
「Kivyによるアプリケーション開発のすすめ」の勧め
「Kivyによるアプリケーション開発のすすめ」の勧め「Kivyによるアプリケーション開発のすすめ」の勧め
「Kivyによるアプリケーション開発のすすめ」の勧めJun Okazaki
 
ビットコインアドレス生成のロジック
ビットコインアドレス生成のロジックビットコインアドレス生成のロジック
ビットコインアドレス生成のロジックTomohide Murata
 
自動売買プログラムの作り方
自動売買プログラムの作り方自動売買プログラムの作り方
自動売買プログラムの作り方Shinya Furusake
 
PyCon JP 2017Yuta Kitagami
PyCon JP 2017Yuta KitagamiPyCon JP 2017Yuta Kitagami
PyCon JP 2017Yuta KitagamiYuta Kitagami
 
2017-08-22 Python×Djangoで作るHR Techサービスのメリット・デメリット
2017-08-22 Python×Djangoで作るHR Techサービスのメリット・デメリット2017-08-22 Python×Djangoで作るHR Techサービスのメリット・デメリット
2017-08-22 Python×Djangoで作るHR Techサービスのメリット・デメリットRyo Nagaoka
 
Redash pythonで業務分析
Redash pythonで業務分析Redash pythonで業務分析
Redash pythonで業務分析創史 花村
 
暗号通貨勉強会
暗号通貨勉強会暗号通貨勉強会
暗号通貨勉強会Kohei Ogawa
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングRansui Iso
 
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点についてdcubeio
 
AWS Black Belt Online Seminar 2017 Amazon Athena
AWS Black Belt Online Seminar 2017 Amazon AthenaAWS Black Belt Online Seminar 2017 Amazon Athena
AWS Black Belt Online Seminar 2017 Amazon AthenaAmazon Web Services Japan
 

Destacado (11)

Kivyでゲーム
KivyでゲームKivyでゲーム
Kivyでゲーム
 
「Kivyによるアプリケーション開発のすすめ」の勧め
「Kivyによるアプリケーション開発のすすめ」の勧め「Kivyによるアプリケーション開発のすすめ」の勧め
「Kivyによるアプリケーション開発のすすめ」の勧め
 
ビットコインアドレス生成のロジック
ビットコインアドレス生成のロジックビットコインアドレス生成のロジック
ビットコインアドレス生成のロジック
 
自動売買プログラムの作り方
自動売買プログラムの作り方自動売買プログラムの作り方
自動売買プログラムの作り方
 
PyCon JP 2017Yuta Kitagami
PyCon JP 2017Yuta KitagamiPyCon JP 2017Yuta Kitagami
PyCon JP 2017Yuta Kitagami
 
2017-08-22 Python×Djangoで作るHR Techサービスのメリット・デメリット
2017-08-22 Python×Djangoで作るHR Techサービスのメリット・デメリット2017-08-22 Python×Djangoで作るHR Techサービスのメリット・デメリット
2017-08-22 Python×Djangoで作るHR Techサービスのメリット・デメリット
 
Redash pythonで業務分析
Redash pythonで業務分析Redash pythonで業務分析
Redash pythonで業務分析
 
暗号通貨勉強会
暗号通貨勉強会暗号通貨勉強会
暗号通貨勉強会
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
簡単、クレカ決済! PAY.JPを使ったクレカ決済の仕組み・開発運用時の考慮点について
 
AWS Black Belt Online Seminar 2017 Amazon Athena
AWS Black Belt Online Seminar 2017 Amazon AthenaAWS Black Belt Online Seminar 2017 Amazon Athena
AWS Black Belt Online Seminar 2017 Amazon Athena
 

Similar a PyconJP2017 Kivyによるアプリケーション開発のすすめ

oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutTsuubito Ishii
 
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようC++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようStudy Group by SciencePark Corp.
 
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれKazumi IWANAGA
 
pythonでつくるiPhoneアプリ
pythonでつくるiPhoneアプリpythonでつくるiPhoneアプリ
pythonでつくるiPhoneアプリKazufumi Ohkawa
 
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! Koji Shiraishi
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編kimulla
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Kohei Saito
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築You&I
 
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
Rubyistがgemの前にPypiデビューするのは間違っているだろうかRubyistがgemの前にPypiデビューするのは間違っているだろうか
Rubyistがgemの前にPypiデビューするのは間違っているだろうかAki Ariga
 
VSCode Conference Japan 2021 kyusque
VSCode Conference Japan 2021 kyusqueVSCode Conference Japan 2021 kyusque
VSCode Conference Japan 2021 kyusquekyusque
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Kazumi IWANAGA
 
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整えるAzure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整えるKazumi IWANAGA
 
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGPythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGJun Okazaki
 
コロナ禍の開発勉強会~社内教育ツールの開発と実装
コロナ禍の開発勉強会~社内教育ツールの開発と実装コロナ禍の開発勉強会~社内教育ツールの開発と実装
コロナ禍の開発勉強会~社内教育ツールの開発と実装IIJ
 
GitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へGitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へKazumi IWANAGA
 
[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakataVOYAGE GROUP
 
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdfAkihiro Suda
 

Similar a PyconJP2017 Kivyによるアプリケーション開発のすすめ (20)

oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
 
Kivy studies
Kivy studiesKivy studies
Kivy studies
 
SCM, CI and Maven Repo
SCM, CI and Maven RepoSCM, CI and Maven Repo
SCM, CI and Maven Repo
 
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしようC++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
C++CLIで、ネイティブCの保守開発に.NETを使って楽をしよう
 
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
 
pythonでつくるiPhoneアプリ
pythonでつくるiPhoneアプリpythonでつくるiPhoneアプリ
pythonでつくるiPhoneアプリ
 
SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発! SwiftとCocoaPodsで始めるサクサクiOS開発!
SwiftとCocoaPodsで始めるサクサクiOS開発!
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
 
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
 
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
Rubyistがgemの前にPypiデビューするのは間違っているだろうかRubyistがgemの前にPypiデビューするのは間違っているだろうか
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
 
VSCode Conference Japan 2021 kyusque
VSCode Conference Japan 2021 kyusqueVSCode Conference Japan 2021 kyusque
VSCode Conference Japan 2021 kyusque
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
 
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整えるAzure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
Azure Functions 開発デプロイ環境を GitHub Codespaces で爆速に整える
 
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEGPythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEG
 
コロナ禍の開発勉強会~社内教育ツールの開発と実装
コロナ禍の開発勉強会~社内教育ツールの開発と実装コロナ禍の開発勉強会~社内教育ツールの開発と実装
コロナ禍の開発勉強会~社内教育ツールの開発と実装
 
GitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へGitHub Copilotとともに次の開発体験へ
GitHub Copilotとともに次の開発体験へ
 
[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata
 
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
[DockerConハイライト] OpenPubKeyによるイメージの署名と検証.pdf
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 

Último

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 

Último (11)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 

PyconJP2017 Kivyによるアプリケーション開発のすすめ