Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pythonのアプリ開発にElectronという選択肢
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
massyuu
October 26, 2017
Programming
2.4k
1
Share
Pythonのアプリ開発にElectronという選択肢
pyfukuoka #2
at 2017/10/26
in Fukuoka City
massyuu
October 26, 2017
More Decks by massyuu
See All by massyuu
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
960
僕が仕事を楽しむメンタルモデル
massyuu
0
590
自分のTwitter利用を振り返ってみる
massyuu
0
110
Vue×Nativeの開発を簡単にしたかったのです
massyuu
0
430
Authから始めるFirebaseの第一歩
massyuu
1
1.5k
RealWorldHTTPを読んでみた
massyuu
1
600
私の知らないPythonの世界
massyuu
1
580
Other Decks in Programming
See All in Programming
New "Type" system on PicoRuby
pocke
1
430
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
220
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
530
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
430
GitHub Copilot CLIのいいところ
htkym
2
1.2k
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
180
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.5k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
330
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
560
dRuby over BLE
makicamel
2
300
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
How to build a perfect <img>
jonoalderson
1
5.6k
Fireside Chat
paigeccino
42
3.9k
Tell your own story through comics
letsgokoyo
1
940
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
For a Future-Friendly Web
brad_frost
183
10k
Docker and Python
trallard
47
3.9k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Transcript
1ZUIPOͷΞϓϦ࡞ʹ &MFDUSPOͱ͍͏બࢶ !NBTTZVV 1Z'VLVPLB
ࣗݾհ NBTTZVVʢϚγϡʔͱ͍͍·͢ʣ 1ZUIPOྺझຯͰϲ݄͘Β͍ ͔Β͕͋͛͋Εੜ͖͍͚ͯΔΤϯδχϟʔ ϑϩϯτ͔ΒόοΫΤϯυ·Ͱ͘ઙ͘ UXJUUFSNBTT@TTO
ͯ͞
1ZUIPOͱ͍͑ ɾػցֶश ɾσʔλղੳ ɾ8&#ΞϓϦέʔγϣϯ ɾεΫϨΠϐϯά ɾɾͱ͍͏Πϝʔδ͕݁ߏ͋Δ
σεΫτοϓΞϓϦΛ࡞Δʹ ,JWZ ϚϧνλονΞϓϦέʔγϣϯ։ൃͷͨΊͷ ΦʔϓϯιʔεϥΠϒϥϦ 1Z2U 2U ΫϩεϓϥοτϑΥʔϜͳ(6*πʔϧΩοτ ͷ 1ZUIPOόʔδϣϯ 1ZUIPOͰσεΫτοϓΞϓϦΛ࡞ΔϑϨʔϜϫʔΫ͋Δ
͕ɺ͔͠͠ 1ZUIPOͰ(6*Λ࣮ݱ͢Δͷͳ͔ͳ͔ࠎ͕ંΕͦ͏ ͬͯΔࣝͰͳΜͱ͔Ͱ͖ͳ͍͔ͳ͊ɾɾ
8&#ΞϓϦΛͲ͏ʹ͔ͯ͠ɾɾ ɾ8&#ΞϓϦͷσβΠϯ͕݁ߏ͖ʢݟ׳Εͨײʣ ɾσβΠϯηϯε͕ͳͯ͘6*ϑϨʔϜϫʔΫͰʂ ɹɹ#PPUTUSBQͱ͔0OTFO6*ͱ͔Ͷ ɾ8&#σεΫτοϓΞϓϦͱ͍͏ྲྀΕ͕ɾɾ
ͦ͜Ͱ&MFDUSPOΛͬͯΈΑ͏
&MFDUSPO KBWBTDSJQUIUNMDTTΛͬͯ ΫϩεϓϥοτϑΥʔϜΞϓϦΛ࡞Δ ΞϓϦέʔγϣϯΤϯδϯ 8JO.BDͰಈ࡞͢ΔΞϓϦΛ࡞ΕΔ "UPNͱ͔7JTVBM4UVEJP$PEFͳΜ͔&MFDUSPO
+4ϑϨʔϜϫʔΫ͑ΑͱݴͬͪΌͩΊ 1ZUIPOͰΔ͜ͱʹҙຯ͕͋Δʢͣʣ
,JWZ͑Α σβΠϯηϯε͕ΞϨͳͷͰ
ࠓճͬͨ͜ͱ 5XJUUFSͷϢʔβʔ*%ͱ݅Λೖྗ͢Δ ˣ ϢʔβʔͷͭͿ͖Λ݅औಘͯ͠දࣔ͢Δ
ԿΛ͏͔ /PEF KTʢ&MFDUSPOಈ͔͢ʣ &MFDUSPOʢ8&#σεΫτοϓΞϓϦʣ 'MBTLʢΞϓϦຊମʣ +JOKBʢςϯϓϨʔτΤϯδϯʣ 0OTFO6*ʢݟͨʣ 5XJUUFS"1*ʢػೳຊମʣ
/PEFKT αʔόʔαΠυͰKBWBTDSJQUΛಈ͔ͨ͢Ίͷڥ ࠓճ&MFDUSPOΛಈ͔ͨ͢Ίʹ༻
'MBTL 1ZUIPOͷܰྔ8&#ΞϓϦέʔγϣϯϑϨʔϜϫʔΫ ܰͯ͘ϧʔςΟϯάػೳ͕͋Ε͍͍ͱࢥͬͯ࠾༻ ࠓճͷΞϓϦͷຊମ from flask import Flask, request app
= Flask(__name__) @app.route("/", methods=['GET', 'POST']) def main(): if request.method == "POST" : # ϦΫΤετͷऔಘ user_name = request.form["username"] count = request.form["count"] IFMMPQZ
+JOKB 1ZUIPO༻ͷςϯϓϨʔτΤϯδϯ ϩδοΫͱ)5.-Λ͚ͯཧͰ͖Δ QZͷதͰ)5.-Λॻ͖ͨ͘ͳ͍ͷͰ࠾༻ {% if tweets != '' %}
<ons-page> <ons-toolbar> <div class="center">{{ user_name }} Tweet</div> <div class="right"><ons-button><a href="/">Back</a></ons-button></div> </ons-toolbar> <ons-scroller> <ons-list> {% for tweet in tweets %} <ons-list-item>{{ tweet.text }}</ons-list-item> {% endfor %} </ons-list> </ons-scroller> </ons-page> {% endif %} JOEFYIUNM
0OTFO6* 6*ϑϨʔϜϫʔΫ ؆୯ʹ͍͍ײ͡ͷ6*Λ࣮ݱͰ͖Δ σβΠϯηϯεͷͳ͍ࣗΛॿ͚ͯ͘ΕΔ <ul> {% for tweet in tweets
%} <li>{{ tweet.text }}</li> {% endfor %} </ul> <ons-list> {% for tweet in tweets %} <ons-list-item>{{ tweet.text }}</ons-list-item> {% endfor %} </ons-list> JOEFYIUNM
5XJUUFS"1* λΠϜϥΠϯΛऔಘ͢ΔͨΊʹ༻ $VTUPNFS,FZ"DDFTT5PLFOͳͲͷऔಘ͕ඞཁ 0"VUIೝূSFRVFTUT@PBVUIMJCΛ͏ͱָ ҙ ϦΫΤετNJOͷ੍ݶ͕͋Γ·͢
σϞ
ϋϚͬͨ͜ͱ σόοάํ๏ &MFDUSPOͱ'MBTLͷΈ߹ΘͤͨϓϩδΣΫτʹ ػೳΛΓࠐΜͰ͠·ͬͨ தී௨ͷ8&#ΞϓϦͳͷͰɺઌʹ'MBTLଆͰ ΞϓϦΛ࡞ΓࠐΜͰ͔ΒΈ߹ΘͤΔ͖ͩͬͨ ΤϥʔͷݪҼ͕ͲͪΒʹ͋Δ͔͔Γਏ͔ͬͨ
ϋϚͬͨ͜ͱ ੩తϑΝΠϧʢ$44KBWBTDSJQUʣͷಡΈࠐΈ 'MBTLϓϩδΣΫτͷʮTUBUJDʯϑΥϧμʹೖΕͯɺ VSM@GPSϞδϡʔϧͰಡΈࠐΊ0, ͍ɺʮ/PU'PVOEʯͳΜͰ͚͢Ͳɾɾ ʢࠓճ$%/ͰରԠͯ͠·͢ʣ
ϞόΠϧ &MFDUSPOʮσεΫτοϓΞϓϦʯ͕࡞ΕΔ ʮϞόΠϧΞϓϦʯͰͳ͍ $PSEPWBͱͷΈ߹Θͤࢼ͍͖͍ͯͨ͠ͱ͜Ζ $PSEPWBɿϞόΠϧΞϓϦ։ൃϑϨʔϜϫʔΫ
·ͱΊ 1ZUIPOͷσεΫτοϓΞϓϦ,JWZ1Z2UͰ࡞Δʂ ɾɾ͚ͩ͡Όͳ͘ɺผͷΞϓϩʔνͰ࣮ݱͰ͖Δ ٕज़ͷֻ͚ࢉͬͯ໘ന͍ΑͶ ʆɾТɾ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠