Pro Yearly is on sale from $80 to $50! »

ピクシブのAndroidアプリ事情

14e66169255d6c801c0f30463a354954?s=47 Keisuke SASAKI
September 10, 2014

 ピクシブのAndroidアプリ事情

2014/09/09 インターン向け発表資料
そもそもAndroidって何よ?から、社内での開発フローなどなど

14e66169255d6c801c0f30463a354954?s=128

Keisuke SASAKI

September 10, 2014
Tweet

Transcript

  1. pixivͷAndroidΞϓϦࣄ৘ ։ൃ෦ ϞόΠϧνʔϜ ࠤʑ໦ Ղ༞ @RooandQoo

  2. ࠤʑ໦Ղ༞@RooandQoo AndroidΤϯδχΞ ࠓ೥ͷ৽ଔ(ࣾྺ3೥໨) About me

  3. What is Android

  4. What is Android ɾGoogle ੡ͷϞόΠϧ޲͚OS ɾΦʔϓϯιʔε ɾੈքతγΣΞ͸ߴ͍ ɾ೔ຊͩͱ…

  5. What is Android όʔδϣϯίʔυͷ໊લ͕͓՛ࢠ

  6. What is Android 1.5 : Cupcake 1.6 : Donut 2.0

    : Eclair 2.2 : Frozen Yogurt 3.0 : Gingerbread 4.0 : Ice Cream Sandwich 4.1 : Jelly Bean 4.4 : KitKat 5.0? : L…?
  7. What is Android ͔Θ͍͍

  8. What is Android ɾ͍ͭ͜ʹਖ਼໊ࣜশ͸ͳ͍Β͍͠

  9. What is Android ࠷ۙͷ Google ͸ੜ׆ͱ AndroidΛ ີணͤ͞Α͏ͱ͍ͯ͠Δ

  10. Android Wear

  11. Android Auto

  12. Android TV

  13. What is Android ͦͷ͏ͪྫྷଂݿͱ͔ʹ΋৯͍ࠐΜͰ͖ͦ͏

  14. What is Android ਎ͷճΓͷ΋ͷΛ hack Ͱ͖Δͱ͍ͬͨҙຯͰ͸ ஌͓͍ͬͯͯଛ͸ͳ͍͔΋ʁ

  15. How to Dev

  16. How to Dev Apps ɾJava(ͬΆ͍ݴޠ) + xml ɾAndroid Studio(IDE) ωΠςΟϒͳΞϓϦ

  17. How to Dev Apps ɾJava(ͬΆ͍ݴޠ) + xml ɾAndroid Studio(IDE) ωΠςΟϒͳΞϓϦ

    ScalaͰॻ͜͏ͱؤுͬͯΔਓ΋͍ΔΒ͍͠
  18. How to Dev Apps ɾTitanium Mobile ɾMonaca ɾRhodes ɾCordova !

    ͳͲͳͲ… WebΞϓϦͬΆͭ͘͘ΕΔϑϨʔϜϫʔΫ
  19. How to Dev Apps Java Ϣʔβ͔Βͷೖྗʹର͢ΔԠ౴ ͳͲɺ৭ʑͳॲཧ xml ϨΠΞ΢τ΍ΞϓϦ಺ͷจࣈྻɺ਺஋ͳͲͷ ఆٛ

  20. Architecture

  21. Architecture Java Resources(xml) AndroidManifest.xml Build Script Project Source ͦΜͳʹେ͖͘ͳ͍

  22. Java Resources(xml) AndroidManifest.xml Build Script Project Source ΞϓϦέʔγϣϯશମͷઃఆϑΝΠϧ Architecture

  23. Java Resources(xml) AndroidManifest.xml Build Script Project Source ϏϧυઃఆͷεΫϦϓτϑΝΠϧ(Gradle) Architecture

  24. Way to hello world

  25. Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢

  26. Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢ ͔ΜͨΜʂ

  27. Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢ https://developer.android.com/sdk/installing/studio.html

  28. Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢ New

    Project͔ΒαΫαΫͭ͘ΕΔ ॳΊ͔Β1ຕͷActivityΛ͍࣋ͬͯΔ
  29. Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢

  30. Way to hello world

  31. Way to hello world ɾAndroid StudioΛηοτΞοϓ ɾ৽نϓϩδΣΫτΛ࡞੒ ɾRun ϘλϯΛԡ͢ New

    Project͔ΒαΫαΫͭ͘ΕΔ ॳΊ͔Β1ຕͷActivityΛ͍࣋ͬͯΔ
  32. Activity?

  33. Activity ɾϘλϯ΍ϦετͳͲͷը໘ύʔπ ɾWebϖʔδ(WebView) ɾάϥϑΟοΫε AndroidΞϓϦʹ͓͚Δը໘ͷ୯Ґ ͳͲ͕දࣔ͞ΕΔJavaͷΫϥε

  34. Activity AndroidΞϓϦʹ͓͚Δը໘ͷ୯Ґ Ϣʔβͷૢ࡞Λड͚ͯॲཧ͢Δͷ΋ Activityͷ࢓ࣄ

  35. Activity Activity Resource Load Show Operation User

  36. Development Environment

  37. Development Environment Android։ൃ༻ͷϓϥάΠϯ౳Λ ௥ՃͰΠϯετʔϧ͢Δඞཁ͕͋ͬͨ

  38. Development Environment 2013೥ϦϦʔεɺ0.8.6(2014೥9݄9೔ݱࡏ)

  39. Development Environment Eclipseͱൺ΂͍͍ͯͱ͜Ζ

  40. Development Environment Gradle͕࢖͑Δ

  41. Development Environment ʢGradle͕࢖͑Δ͜ͱͰʣ ϥΠϒϥϦͷ؅ཧָ͕

  42. Development Environment ࢀߟࢿྉʢ͍͍ײ͡ʹ·ͱ·ͬͯ·͢ʣ http://blog.nkzn.info/entry/2014/03/21/015914

  43. Development Environment pixivͰ͸2014೥ͷ4݄ʹҠߦͨ͠

  44. Gradle

  45. Gradle

  46. Gradle ɾAnt΍Mavenʹ୅ΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ΍͍͢ ɾAndroid StudioͰ͸ඞਢ ɾϥΠϒϥϦͷ؅ཧ΋ָ

  47. Gradle [Gradle] GradleͱMavenͱAnt+ivyͷൺֱ http://d.hatena.ne.jp/kaakaa_hoe/20130312 ࢀߟࢿྉ

  48. None
  49. None
  50. None
  51. Gradle ɾAnt΍Mavenʹ୅ΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ΍͍͢ ɾAndroid StudioͰ͸ඞਢ ɾϥΠϒϥϦͷ؅ཧ΋ָ

  52. Gradle ɾAnt΍Mavenʹ୅ΘΔϏϧυπʔϧ ɾهड़͕؆୯Ͱਓؒʹݟ΍͍͢ ɾAndroid StudioͰ͸ඞਢ ɾϥΠϒϥϦͷ؅ཧ΋ָ

  53. Gradle ͜͜ʹॻ͚ͩ͘ʂ

  54. Gradle ศརʂ

  55. Android@pixiv

  56. ɾpixiv ɾpixiv ίϛοΫ ɾpixiv wall Android@pixiv ग़ͯ͠ΔΞϓϦ

  57. iOSΞϓϦʹൺ΂ͯϦϦʔεͷख͕ؒͳ͍ͨΊɺ ࣮ݧతػೳΛಋೖ͢Δ࣌ͷઑฌʹͳΔ͜ͱ΋͋Δ Android@pixiv

  58. ɾgit / GitHub ɾTravis CI ɾDeployGate ɾCrashlytics ɾGoogle Analytics Android@pixiv

    ར༻ͯ͠Δπʔϧ
  59. ݴΘͣͱ஌Εͨιʔείʔυ؅ཧγεςϜ ػೳ௥Ճ΍όάमਖ਼͸PRϕʔεͰߦ͏ Android@pixiv git / GitHub

  60. GitHubʹ push ͞ΕͨίʔυΛ Ϗϧυɺςετͯ͘͠ΕΔ ͜Εʹ pass ͠ͳ͍ίʔυ͸Ϛʔδ͞Εͳ͍ Android@pixiv Travis CI

  61. ΞϓϦͷβ൛഑෍γεςϜ ࣾ಺ͷਓʹ࢖ͬͯ΋Βͬͯ ࢖༻ײͷ֬ೝ΍σόοάΛߦ͏ Android@pixiv DeployGate

  62. ΞϓϦͷΫϥογϡݪҼ෼ੳͳͲΛ αϙʔτͯ͘͠ΕΔαʔϏε ൃੜՕॴ΍ճ਺͕Θ͔ΔͷͰσόοάʹॏๅ͍ͯ͠Δ Android@pixiv Crashlytics

  63. Ϣʔβ͕ΞϓϦͰͲΜͳΞΫγϣϯΛߦ͔ͬͨʁ ͱ͍ͬͨΠϕϯτΛղੳͯ͘͠ΕΔαʔϏε Android@pixiv Google Analytics

  64. ྑ͛͞ͳπʔϧ / ϥΠϒϥϦ͸ੵۃతʹಋೖͯ͠Δ Android@pixiv

  65. ࣮૷ɺpush ࣮૷͢Δ΋ͷ ܾΊΔ ࣾ಺ςετ (DeployGate) ϦϦʔε Release Cycle

  66. Android@pixiv ࣮૷͢Δػೳͷݕ౼ ๻Β͕ ΄͍͠΋ͷ Ϣʔβ͕ ΄͍͠΋ͷ ձࣾతʹ ྑ͍΋ͷ ίίΛॏ఺తʹ ຬ͍ͨͯ͘͠

  67. Android@pixiv ։ൃ Issueཱͯͯ

  68. Android@pixiv ։ൃ ॻ͍ͯ͸PRΛ౤͛Δ

  69. Android@pixiv ։ൃ PR͸ඞͣϨϏϡΞʔ͕1ਓҎ্͍ͭͯ ίʔυϨϏϡʔΛߦ͏

  70. Android@pixiv ։ൃ ࠷ۙ͸WIPͱͯ͠࡞ۀ్தͷPRΛग़͠ɺ ࡉ͔͍୯ҐͰϨϏϡʔͯ͠΋Β͏͜ͱ΋

  71. Android@pixiv ։ൃ ྑ͛͞ͳϥΠϒϥϦ͸υϯυϯ࢖͏

  72. Android@pixiv ։ൃ ඞཁʹԠͯ͡APIΛॻ͍ͨΓ΋͢Δ

  73. Android@pixiv ྫ UIେվम

  74. Android@pixiv ๻Β͕΄͍͠ ɾ૴ࣜUI͸͍͍Ճݮμα͍ ʢެࣜͬΆ͘ͳ͍…ʣ ɾࠓͬΆ͍σβΠϯͷைྲྀʹ৐Γ͍ͨ

  75. Android@pixiv Ϣʔβ͕΄͍͠ ɾ͖ͬ͢Γ·ͱ·ͬͨUI͸࢖͍΍͍͢ ɾଞͷࠓ෩ͷΞϓϦͱσβΠϯ͕ἧ͍ͬͯͯྑ͍

  76. Android@pixiv ձࣾతʹྑ͍ ɾΞϓϦ΋ͪΌΜͱ࡞Γ͜ΜͰΔΞϐʔϧͰ͖Δ

  77. None
  78. None
  79. Android@pixiv ɾେن໛ͳվमͩͬͨͷͰ ɹϦϦʔε͞Εͨ࣌ͷײಈ͕େ͖͔ͬͨ ஌ݟ

  80. Android@pixiv ஌ݟ ɾIssueͱPRͷن໛͕๲େʹͳΓ͗ͨ͢ →ͳΔ΂͘ࡉ͔۠͘੾ͬͨํ͕ϨϏϡΞʔ͕ࠔΒͳ͍

  81. Android@pixiv ஌ݟ ɾIssueͱPRͷن໛͕๲େʹͳΓ͗ͨ͢ →ͳΔ΂͘ࡉ͔۠͘੾ͬͨํ͕ϨϏϡΞʔ͕ࠔΒͳ͍ ϞόΠϧΞϓϦʹݶͬͨ࿩͡Όͳ͍͚Ͳ…

  82. matome ɾϞόΠϧνʔϜ͸ϑοτϫʔΫ͕͍ܰ ! ɾ΍Γ͍ͨ͜ͱ͕࣮ݱ͠΍͘͢ɺ ɹϢʔβ͔ΒͷϨεϙϯε΋ૣ͍ ! ɾগͳ͘ͱ΋pixivͰ͸ͦΜͳײ͡Ͱ͢