Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pythonのアプリ開発にElectronという選択肢

44749d6ac5ca44e5325622593877c420?s=47 massyuu
October 26, 2017

 Pythonのアプリ開発にElectronという選択肢

pyfukuoka #2
at 2017/10/26
in Fukuoka City

44749d6ac5ca44e5325622593877c420?s=128

massyuu

October 26, 2017
Tweet

Transcript

  1. 1ZUIPOͷΞϓϦ࡞੒ʹ &MFDUSPOͱ͍͏બ୒ࢶ !NBTTZVV 1Z'VLVPLB 

  2. ࣗݾ঺հ NBTTZVVʢϚγϡʔͱ͍͍·͢ʣ 1ZUIPOྺ͸झຯͰϲ݄͘Β͍ ͔Β͕͋͛͋Ε͹ੜ͖͍͚ͯΔΤϯδχϟʔ ϑϩϯτ͔ΒόοΫΤϯυ·Ͱ޿͘ઙ͘ UXJUUFSNBTT@TTO

  3. ͯ͞

  4. 1ZUIPOͱ͍͑͹ ɾػցֶश ɾσʔλղੳ ɾ8&#ΞϓϦέʔγϣϯ ɾεΫϨΠϐϯά ɾɾͱ͍͏Πϝʔδ͕݁ߏ͋Δ

  5. σεΫτοϓΞϓϦΛ࡞Δʹ͸ ,JWZ ϚϧνλονΞϓϦέʔγϣϯ։ൃͷͨΊͷ ΦʔϓϯιʔεϥΠϒϥϦ 1Z2U 2U ΫϩεϓϥοτϑΥʔϜͳ(6*πʔϧΩοτ ͷ 1ZUIPOόʔδϣϯ 1ZUIPOͰσεΫτοϓΞϓϦΛ࡞ΔϑϨʔϜϫʔΫ͸͋Δ

  6. ͕ɺ͔͠͠ 1ZUIPOͰ(6*Λ࣮ݱ͢Δͷ͸ͳ͔ͳ͔ࠎ͕ંΕͦ͏ ஌ͬͯΔ஌ࣝͰͳΜͱ͔Ͱ͖ͳ͍͔ͳ͊ɾɾ

  7. 8&#ΞϓϦΛͲ͏ʹ͔ͯ͠ɾɾ ɾ8&#ΞϓϦͷσβΠϯ͕݁ߏ޷͖ʢݟ׳Εͨײʣ ɾσβΠϯηϯε͕ͳͯ͘΋6*ϑϨʔϜϫʔΫͰʂ ɹɹ#PPUTUSBQͱ͔0OTFO6*ͱ͔Ͷ ɾ8&#σεΫτοϓΞϓϦͱ͍͏ྲྀΕ͕ɾɾ

  8. ͦ͜Ͱ&MFDUSPOΛ࢖ͬͯΈΑ͏

  9. &MFDUSPO KBWBTDSJQUIUNMDTTΛ࢖ͬͯ ΫϩεϓϥοτϑΥʔϜΞϓϦΛ࡞Δ ΞϓϦέʔγϣϯΤϯδϯ 8JO΍.BDͰಈ࡞͢ΔΞϓϦΛ࡞ΕΔ "UPNͱ͔7JTVBM4UVEJP$PEFͳΜ͔΋&MFDUSPO੡

  10. +4ϑϨʔϜϫʔΫ࢖͑ΑͱݴͬͪΌͩΊ 1ZUIPOͰ΍Δ͜ͱʹҙຯ͕͋Δʢ͸ͣʣ

  11. ,JWZ࢖͑Α σβΠϯηϯε͕ΞϨͳ΋ͷͰ

  12. ࠓճ΍ͬͨ͜ͱ 5XJUUFSͷϢʔβʔ*%ͱ݅਺Λೖྗ͢Δ ˣ ϢʔβʔͷͭͿ΍͖Λ݅਺෼औಘͯ͠දࣔ͢Δ

  13. ԿΛ࢖͏͔ /PEF KTʢ&MFDUSPOಈ͔͢ʣ &MFDUSPOʢ8&#σεΫτοϓΞϓϦʣ 'MBTLʢΞϓϦຊମʣ +JOKBʢςϯϓϨʔτΤϯδϯʣ  0OTFO6*ʢݟͨ໨ʣ  5XJUUFS"1*ʢػೳຊମʣ

  14. /PEFKT αʔόʔαΠυͰKBWBTDSJQUΛಈ͔ͨ͢Ίͷ؀ڥ ࠓճ͸&MFDUSPOΛಈ͔ͨ͢Ίʹ࢖༻

  15. '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
  16. +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
  17. 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
  18. 5XJUUFS"1* λΠϜϥΠϯΛऔಘ͢ΔͨΊʹ࢖༻ $VTUPNFS,FZ΍"DDFTT5PLFOͳͲͷऔಘ͕ඞཁ 0"VUIೝূ͸SFRVFTUT@PBVUIMJCΛ࢖͏ͱָ ஫ҙ ϦΫΤετNJOͷ੍ݶ͕͋Γ·͢

  19. σϞ

  20. ϋϚͬͨ͜ͱ σόοάํ๏ &MFDUSPOͱ'MBTLͷ૊Έ߹ΘͤͨϓϩδΣΫτʹ ػೳΛ੝ΓࠐΜͰ͠·ͬͨ த਎͸ී௨ͷ8&#ΞϓϦͳͷͰɺઌʹ'MBTLଆͰ ΞϓϦΛ࡞ΓࠐΜͰ͔Β૊Έ߹ΘͤΔ΂͖ͩͬͨ ΤϥʔͷݪҼ͕ͲͪΒʹ͋Δ͔෼͔Γਏ͔ͬͨ

  21. ϋϚͬͨ͜ͱ ੩తϑΝΠϧʢ$44KBWBTDSJQUʣͷಡΈࠐΈ 'MBTLϓϩδΣΫτͷʮTUBUJDʯϑΥϧμʹೖΕͯɺ VSM@GPSϞδϡʔϧͰಡΈࠐΊ͹0, ͍΍ɺʮ/PU'PVOEʯͳΜͰ͚͢Ͳɾɾ ʢࠓճ͸$%/ͰରԠͯ͠·͢ʣ

  22. ϞόΠϧ͸ &MFDUSPO͸ʮσεΫτοϓΞϓϦʯ͕࡞ΕΔ ʮϞόΠϧΞϓϦʯͰ͸ͳ͍ $PSEPWBͱͷ૊Έ߹Θͤ΋ࢼ͍͖͍ͯͨ͠ͱ͜Ζ $PSEPWBɿϞόΠϧΞϓϦ։ൃϑϨʔϜϫʔΫ 

  23. ·ͱΊ 1ZUIPOͷσεΫτοϓΞϓϦ͸,JWZ΍1Z2UͰ࡞Δʂ ɾɾ͚ͩ͡Όͳ͘ɺผͷΞϓϩʔνͰ΋࣮ݱͰ͖Δ ٕज़ͷֻ͚ࢉͬͯ໘ന͍ΑͶ ʆɾТɾ

  24. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠