SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
「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単体より重くなる

Mais conteúdo relacionado

Mais procurados

Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?Yuta Matsumura
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
WebIDLを見てみる
WebIDLを見てみるWebIDLを見てみる
WebIDLを見てみるtakenspc
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるpospome
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)onozaty
 
Rails上でのpub/sub イベントハンドラの扱い
Rails上でのpub/sub イベントハンドラの扱いRails上でのpub/sub イベントハンドラの扱い
Rails上でのpub/sub イベントハンドラの扱いota42y
 
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみようDockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみようmookjp
 
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIRedmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIGo Maeda
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVMHiroshi Maekawa
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified IDNaohiro Fujie
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
What's new in Spring Boot 2.6 ?
What's new in Spring Boot 2.6 ?What's new in Spring Boot 2.6 ?
What's new in Spring Boot 2.6 ?土岐 孝平
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャota42y
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーSaeko Yamamoto
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知るShuhei Fujita
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 

Mais procurados (20)

Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
WebIDLを見てみる
WebIDLを見てみるWebIDLを見てみる
WebIDLを見てみる
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
 
Rails上でのpub/sub イベントハンドラの扱い
Rails上でのpub/sub イベントハンドラの扱いRails上でのpub/sub イベントハンドラの扱い
Rails上でのpub/sub イベントハンドラの扱い
 
Argo CD Deep Dive
Argo CD Deep DiveArgo CD Deep Dive
Argo CD Deep Dive
 
DockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみようDockerでWordPressサイトを開発してみよう
DockerでWordPressサイトを開発してみよう
 
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST APIRedmineをちょっと便利に! プログラミング無しで使ってみるREST API
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
 
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
What's new in Spring Boot 2.6 ?
What's new in Spring Boot 2.6 ?What's new in Spring Boot 2.6 ?
What's new in Spring Boot 2.6 ?
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダーはじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 

Destaque

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
 

Destaque (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
 

Semelhante 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
 

Semelhante 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

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Último (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

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