クロスプラットフォーム開発環境のすゝめ

5c15692e0997b53f1de1627d9fd41f46?s=47 zaki
February 18, 2018

 クロスプラットフォーム開発環境のすゝめ

https://qiita.com/zaki_zaki/items/7fcd0fffef29e751e6e8
を社内LTした際のスライド

5c15692e0997b53f1de1627d9fd41f46?s=128

zaki

February 18, 2018
Tweet

Transcript

  1. ΫϩεϓϥοτϑΥʔϜ ։ൃ؀ڥͷ͢ʍΊ

  2. • ໊લɿ໼࡚ ༞थ • Twitterɿ@zucky_zakizaki • ಘҙͳ෼໺ ‣ ݴޠʢC#ɺT-SQLʣ ‣

    ࢓༷ͷམͱ͠ࠐΈ • ࠷ۙͷझຯ ‣ ϞόΠϧܥʢXamarinʣ ‣ WebܥʢCSSͷઃܭɺVue.jsʣ ΀Ζ;͌ʔΔ
  3. ͜Μͳܦݧ͸͋Γ·ͤΜ͔ʁ ϞόΠϧΞϓϦͷษڧΛ࢝ΊΑ͏ͱͨ͠ํɾɾɾ

  4. ελϯμʔυͳϞόΠϧΞϓϦ։ൃͬͯɾɾɾ ͲͪΒ΋ษڧ͍ͨ͠ *%&͕ҧ͏ ݴޠ͕ҧ͏ "1*͕ҧ͏ }

  5. ͭ Β ͍ ͔͔࣌ؒΔ

  6. None
  7. ΫϩεϓϥοτϑΥʔϜ ։ൃ؀ڥ͕͓͢͢ΊͰ͢ ͦΜͳ͋ͳͨʹɾɾɾ

  8. • ΫϩεϓϥοτϑΥʔϜ։ൃ؀ڥͱ͸ʁ • ωΠςΟϒΞϓϦͱϋΠϒϦουΞϓϦͷҧ͍ • ։ൃݴޠɺϑϨʔϜϫʔΫ ຊ೔͸ͳ͢͜ͱ

  9. • ΫϩεϓϥοτϑΥʔϜ։ൃ؀ڥͱ͸ʁ • ωΠςΟϒΞϓϦͱϋΠϒϦουΞϓϦͷҧ͍ • ։ൃݴޠɺϑϨʔϜϫʔΫ ຊ೔͸ͳ͢͜ͱ

  10. Android,iOSͳͲ ෳ਺ͷϓϥοτϑΥʔϜʹ ରͯ͠։ൃՄೳͳ؀ڥ Android,iOSͳͲ ෳ਺ͷϓϥοτϑΥʔϜʹ ରͯ͠։ൃՄೳͳ؀ڥ ΫϩεϓϥοτϑΥʔϜ։ൃ؀ڥͬͯͳʹʁ

  11. lͳͲzͬͯʁ º • جຊ͸Android×iOS • Windows, Linux, etc…ͷϓ ϥοτϑΥʔϜʹ͍ͭͯ΋ ಉ͡ݴޠˍFWͰ։ൃ͕Մ

  12. 04ݻ༗ʢ(14ɺΧϝϥɺFUDʜʣ 04ݻ༗ʢ(14ɺΧϝϥɺFUDʜʣ ը໘ʢϨΠΞ΢τɺΠϕϯτॲཧʣ ϏδωεϩδοΫ ۩ମతʹ͸ʁ ڞ௨ݴޠ ίʔυڞ௨Խ ϓϥάΠϯ ݸผ࣮૷

  13. ϝϦοτͱσϝϦοτ • σβΠϯɺϏδωεϩδοΫͷίʔυڞ༗Խ
 
 
 
 
 • OSݻ༗ʢGPSɺΧϝϥɺetc…ʣͷॲཧ͸ɺ
 ϓϥάΠϯʢ㲈ϥΠϒϥϦʣͰ࣮૷Մೳ

    →ݸผ࣮૷΄ͲϨΠΞ΢τΛࡉ͔͍͘͡Εͳ͍Մೳੑ͋Γ →ֶश΍࣮૷ͷ࣌ؒ୹ॖ →ֶश΍࣮૷ͷ࣌ؒ୹ॖ →֤ϓϥοτϑΥʔϜͷཧղ͸ඞཁ
  14. w ΫϩεϓϥοτϑΥʔϜ։ൃ؀ڥͱ͸ʁ • ωΠςΟϒΞϓϦͱϋΠϒϦουΞϓϦͷҧ͍ • ։ൃݴޠɺϑϨʔϜϫʔΫ ຊ೔͸ͳ͢͜ͱ

  15. ωΠςΟϒΞϓϦͱ͸ʁ ωΠςΟϒ"1* ΞϓϦέʔγϣϯ } ελϯμʔυͳ*%&΍ݴޠͰ ࡞ΕΔ

  16. ϋΠϒϦουΞϓϦͱ͸ʁ ωΠςΟϒ"1* ΞϓϦέʔγϣϯ WebView } WebView σβΠϯΛ)5.-$44 ಈ࡞Λ+4ͰهࡌՄೳʂ

  17. ωΠςΟϒΞϓϦͱϋΠϒϦουΞϓϦͷൺֱ ωΠςΟϒ ϋΠϒϦου ॲཧ଎౓ ˕ J04̋ "OESPJE˛ σβΠϯ 04ґଘ ΄΅ڞ௨

    ػೳ੍໿ ΄΅ͳ͠ ͋Γ 8FCࢿ࢈ͷ ྲྀ༻ ˛ ̋ ϋΠϒϦουͰ͸iOS͸΄΅໰୊ͳ͠ Android͸ಈ࡞͕ॏ͘ͳΓ͕ͪ } } ϋΠϒϦου͸HTML/CSSͷσβΠϯ ͕దԠ͞ΕΔͨΊࠩҟ͕গͳΊ } ωΠςΟϒ͸؀ڥຖʹ͓࡞๏͕ҟͳΔ͕ جຊ੍໿ͳ͠ ϋΠϒϦου͸؀ڥʹΑͬͯ͸੍໿͋Γ } ωΠςΟϒ͸αʔόଆϩδοΫͳͲ ϋΠϒϦου͸σβΠϯؚΊ ྲྀ༻͠΍͍͢
  18. • ॲཧ଎౓ͳΒωΠςΟϒΞϓϦɻΞχϝʔγϣϯͳͲॏ ͍ಈ࡞ແ͠ͳΒϋΠϒϦουΞϓϦͰ΋Մ • Web։ൃऀͳΒɺϋΠϒϦουΞϓϦͷํ͕ೖ໳͠΍͢ ͦ͏ ωΠςΟϒΞϓϦͱϋΠϒϦουΞϓϦͷൺֱ

  19. w ΫϩεϓϥοτϑΥʔϜ։ൃ؀ڥͱ͸ʁ • ωΠςΟϒΞϓϦͱϋΠϒϦουΞϓϦͷҧ͍ • ։ൃݴޠɺϑϨʔϜϫʔΫ ຊ೔͸ͳ͢͜ͱ

  20. ͲΕ͚ͩछྨ͕͋Δͷʁ 1 2 3 4 5 6 7 8 9

    10 11
  21. ͲΕ͚ͩछྨ͕͋Δͷʁ 1 2 3 4 5 6 7 8 9

    10 11 ͔ͳΓଟ͍ʂ ͷͰɺ
  22. ͲΕ͚ͩछྨ͕͋Δͷʁ 1 2 3 4 5 6 7 8 9

    10 11 ൈਮ͠·͢
  23. ͲΕ͚ͩछྨ͕͋Δͷʁ 1 2 3 4 5 6 7 8 9

    10 11
  24. ಡΈํ βϚϦϯ छྨ ωΠςΟϒΞϓϦ ର৅ *%& 7JTVBM4UVEJP 8JOEPXT .BD 3JEFS

    ݴޠ $'9".- βϜϧ ࢿ࢈ .JDSPTPGU ֓ཁ
  25. ಛ௃ • Xamarin.Formsͱ͍͏։ൃख๏ͰɺϓϥοτϑΥʔϜ ݻ༗ʢGPSͳͲʣҎ֎͸ίʔυڞ௨ԽՄೳ • Visual Studio(ແঈ൛)ΛΠϯετʔϧ͢Δ͜ͱ؀ڥߏ ஙՄೳ • ϓϥοτϑΥʔϜݻ༗ػೳ͸ɺXamarin.Nativeͱݺ͹

    ΕΔAndroid,iOSͷSDKΛബ͘ϥούʔͨ͠APIΛར ༻͢Δ͜ͱͰɺ100%࣮ݱՄೳ
  26. ͦͷଞ • Xamarin֓ཁ - slideshare • Xamarin Overview - slideshare

    • ࣄྫ঺հ - XLSOFT༷ • Xamarin.Forms ೖ໳ - XLSOFT༷ • ͔͖ͣͷXamarin.Forms ೖ໳ - pdf
  27. ಡΈํ ϦΞΫτɹωΠςΟϒ छྨ ωΠςΟϒΞϓϦ ର৅ *%& ͳ͠ 7JTVBM4UVEJP$PEF"UPNFUDʜ ݴޠ )5.-$44+BWB4DSJQU

    '83FBDU ࢿ࢈ 'BDFCPPL ֓ཁ
  28. ಛ௃ • React.jsΛϕʔεͱͨ͠ɺJavaScriptͰهड़Մೳͳ Android,iOSΞϓϦ։ൃ޲͚ͷ؀ڥ • npmίϚϯυΛ༻͍ͯʮcreate-react-native-appʯΛ Πϯετʔϧ͢Δ͚ͩͰ؀ڥߏஙՄೳ • ϓϥοτϑΥʔϜݻ༗ػೳ͸ɺReact NativeͷAPIͱ

    ࣮ͯ͠૷͍ͯ͠Δ༷ࢠ͕ͩɺແ͍৔߹͸ Android(Java)ɺiOS(Obj-C,Swift)ͷ࣮૷͕ඞཁ
  29. ͦͷଞ • React NativeͰ࢝ΊΔΞϓϦ։ൃ - slideshare • create-react-native-appͷઆ໌ - ٕज़ϒϩά

    • ωΠςΟϒϞδϡʔϧͷ࡞Γํ - ٕज़ϒϩά
  30. ಡΈํ ίτϦϯɹωΠςΟϒ छྨ ωΠςΟϒΞϓϦ ର৅ *%& $-JPO  9$PEF"OESPJE4UVEJP ݴޠ

    ,PUMJO ࢿ࢈ +FU#SBJOT ֓ཁ
  31. ಛ௃ • 2017೥ʹAndroidެࣜݴޠͱͳͬͨKotlinɺΫϩεϓ ϥοτϑΥʔϜʹಛԽͨ͠ݴޠʢͱ͍͏ΑΓFWʁʣ • IDE͸CLion͕ϝΠϯ͕ͩɺ·ͩΫϩεϓϥοτ ϑΥʔϜ޲͚ͷϓϩδΣΫτ͸࡞Εͳ͍ • 2017೥͔ΒWindows /

    iOS / WebAssembly·Ͱα ϙʔτର৅ͱͳͬͨʢ੎͍͕͋Δʂʣ
  32. ͦͷଞ • KotlinConf 2017 ·ͱΊ - ٕज़ϒϩά • Kotlin Enucation

    Tools - Jet Brains༷ • Kotlin/NativeͰiOSΞϓϦΛ࡞ͬͯΈΔ - Qiita
  33. ·ͱΊ • C#(.Net / Mono)ܦݧऀͳΒXamarinɺ
 Web(ϑϩϯτ)ܦݧऀͳΒReactNative͕ೖ໳͠΍ͦ͢͏
 →Xamarin͸OSݻ༗ػೳ͕100%࣮ݱՄೳͳͷͰɺ
 ɹAndroid΍iOSͷSDKֶशͷͨΊͷπʔϧͱͯ͠
 ɹ࢝Ίͯ΋Α͍͔΋ɻ
 ˠReactNative͸ɺReact.js→ReactNativeͱֶशͨ͠ํ͕


    ɹεϜʔζʹೖ໳Ͱ͖ͦ͏ɻ • Kotlin/Native͸·ͩߥ࡟Γ͚ͩͲɺJavaΛ࢖༻͍ͯͨ͠ Android/Web։ൃऀ͔ΒਓؾʂཁνΣοΫʂ
  34. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠