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

未経験からの挑戦!超速ネイティブアプリ開発

Skycat
June 16, 2018

 未経験からの挑戦!超速ネイティブアプリ開発

PHPカンファレンス福岡2018のスポンサーセッションをさせていただいたときの資料です。
https://phpcon.fukuoka.jp/2018/

Skycat

June 16, 2018
Tweet

More Decks by Skycat

Other Decks in Technology

Transcript

  1. גࣜձࣾϋγΰ
    দຊ୓໵ !TLZDBU@NF

    ະܦݧ͔Βͷ௅ઓʂ
    ௒଎ωΠςΟϒΞϓϦ։ൃ

    View Slide

  2. ࣗݾ঺հ
    wদຊ୓໵ʢʣ
    wαʔόʔαΠυدΓΤϯδχΞ
    w1ZUIPO %BSU 1)1 +BWB4DSJQU
    $ $ 1FSM +BWB…
    wגࣜձࣾϋγΰ೥݄ೖࣾ
    !TLZDBU@NF

    View Slide

  3. ࣗࣾ঺հ
    αΠόʔΤʔδΣϯτάϧʔϓͱͯ͠
    ෱ԬΛڌ఺ʹήʔϜӡӦ΍৽ن։ൃ
    ͳͲ༷ʑͳࣄۀΛߦͳ͓ͬͯΓ·͢ɻ
    IUUQTBU
    IUUQTDPMMFHJOPKQ

    View Slide

  4. IUUQTBU

    View Slide

  5. IBTJHP!ͷϞόΠϧ
    ΞϓϦ։ൃʹ͍ͭͯ
    ͷ࿩Λ͠·͢
    'MVUUFS

    View Slide

  6. ٕज़બఆ
    w'MVUUFS
    wJ04"OESPJEରԠͷΫϩεϓϥοτϑΥʔϜ
    w։ൃݴޠ͸%BSU
    wڧྗͳ*%&ʹରԠ
    w*OUFMMJ+*%&"74$PEF

    View Slide

  7. ٕज़બఆ'MVUUFS࠾༻
    wֶशίετͷ໰୊
    wJ04"OESPJEΤϯδχΞ͕͍ͳ͔ͬͨͨΊɺ
    ΫϩεϓϥοτϑΥʔϜʹ͢Δ͜ͱͰֶश
    ίετΛ཈͔͑ͨͬͨ
    wର߅അ
    w3FBDU/BUJWF9BNBSJO
    wͰ΋৽͍͜͠ͱ΍Γ͔ͨͬͨΜ΍ʂ

    View Slide

  8. 'MVUUFSͱ͸
    "OESPJEJ04ʹରԠͨ͠
    (PPHMFൃͷϞόΠϧ6*ϑϨʔϜϫʔΫ
    wݴޠ͸%BSU ॻ͖΍͍͢ʂ

    wಠࣗϨϯμϦϯά
    wෳ਺ͷϓϥοτϑΥʔϜͰ׬શಉҰͷ6*
    w·ͩϕʔλ W

    View Slide

  9. 'MVUUFSͬͯԿ͕ྑ͍ͷʁ
    wେྔͷ8JEHFU͕༻ҙ͞Ε͍ͯΔʢ6*ύʔπʣ
    w ͜ͷ8JEHFUΛ૊Έ߹Θͤͯ6*Λ࡞͍ͬͯ͘
    wεςʔτϨεͳߴ଎ϗοτϦϩʔυػೳ
    w ։ൃ͕ͱͯ΋ޮ཰Α͘ਐΊΒΕΔ
    w։ൃ؀ڥߏங͕ͱͯ΋؆୯
    w ґଘੑ֬ೝͷίϚϯυˠqVUUFSEPDUPS

    View Slide

  10. 6*Λ૊ΜͰΈΔ
    w ͜ͷ8JEHFUΛ૊Έ߹Θͤͯ6*Λ࡞͍͖ͬͯ·͢
    *NBHF
    5FYU
    5BH
    5BH
    $PMVNO
    $PMVNO
    *NBHF 5FYU
    3PX
    5BH 5BH
    8JEHFU5SFF
    3PX

    View Slide

  11. ͔͜͜Β͸࣮ࡍʹ։ൃΛॳ
    Ίͯߦͬͯେมͩͬͨ΋ͷ
    Λ঺հ͍͖ͯ͠·͢

    View Slide

  12. 'MVUUFSঢ়ଶ؅ཧ
    $PMVNO
    $BSE
    5FYU
    *NBHF
    4MJEFS
    $POUBJOFS *NBHF
    5FYU
    %BUB
    %BUB

    View Slide

  13. 'MVUUFSঢ়ଶ؅ཧ
    $PMVNO
    %BUB
    $BSE
    5FYU
    *NBHF
    4MJEFS
    $POUBJOFS *NBHF
    5FYU
    %BUB
    %BUB
    *OIFSJUFE8JEHFU

    View Slide

  14. 'MVUUFSঢ়ଶ؅ཧ
    w4DPQFE@NPEFM
    w *OIFSJUFE8JEHFUΛแؚ֦ு͍ͯ͠Δ֎෦ύοέʔδ
    w *OIFSJUFE8JEHFUΛܧঝͨ͠ঢ়ଶ؅ཧ.PEFMΛఆٛ͢Δ
    ͜ͱͰɺͦΕͧΕ*OIFSJUFE8JEHFUΛఆٛ͠ͳͯ͘Α͘
    ͳͬͯͱͯ΋εοΩϦ͢ΔΑʂ
    w IUUQTQVCEBSUMBOHPSHQBDLBHFTTDPQFE@NPEFM

    View Slide

  15. 'MVUUFSঢ়ଶ؅ཧ
    Ͱ΋ɾɾɾ
    ͪΐͬͱ·ͯΑɾɾɾ
    ͟Θɾɾɾ͟Θɾɾɾɾ

    View Slide

  16. 'MVUUFSঢ়ଶ؅ཧ
    6*ͱϩδοΫ͕
    混沌ͱ͍ͯ͠Δʂʁ

    View Slide

  17. @override
    Widget build(BuildContext context) {
    TodoListContainerState container = TodoListContainer.of(context);
    // ϑΟϧλϦϯά͍ͨ͠
    switch (container.widget.filterMode) {
    case FilterMode.checked:
    filteredTodoList = container.getCheckedTodoList();
    break;
    case FilterMode.unchecked:
    filteredTodoList = container.getUncheckedTodoList();
    break;
    case FilterMode.none:
    default:
    List todoList = container.getTodoList();
    if (todoList != null) {
    filteredTodoList = todoList;
    }
    break;
    }
    container.addLoadingEndListener(this);
    return new Scaffold(
    body: new ListView.builder(
    padding: const EdgeInsets.all(16.0),
    itemCount: filteredTodoList.length,
    itemBuilder: (context, i) => new
    TodoEntryItem(filteredTodoList[i])),
    );
    }
    ඳըϝιου
    ϩδοΫ
    ඳը͢Δ8JEHFU

    View Slide

  18. #-P$ΞʔΩςΫνϟ
    w #VTJOFTT-PHJD$PNQPOFOU
    w 6*ͱϩδοΫΛ׬શ෼཭ʂ
    w #VJMESFBDUJWFNPCJMFBQQTXJUI'MVUUFS (PPHMF*0

    w IUUQTZPVUVCF34H#&Q0*

    View Slide

  19. #-P$ΞʔΩςΫνϟ
    w ࡾݪଇ
    w ೖྗͱग़ྗ͸γϯϓϧͳ4USFBN4JOL͔͠ڐ͞Εͳ͍
    w ґଘੑ͸஫ೖՄೳͰϓϥοτϑΥʔϜʹґଘ͠ͳ͍
    w ϓϥοτϑΥʔϜ͝ͱͷ෼ذ͠ͳ͍
    w ͜ΕΒΛक͍ͬͯΔͳΒԿͰ΋΍ͬͯΑ͠ʂ
    Flutter / AngularDart
    – Code sharing, better together (DartConf 2018)
    IUUQTZPVUVCF1-)MOX)H1&

    View Slide

  20. #-P$ʹͯ͠Α͔ͬͨ͜ͱ
    w 6*ͱϩδοΫ͕෼཭͞ΕΔͨΊ
    w γϯϓϧʹ࣮૷ʹͰ͖Δʂ
    w Մಡੑ͕61ʂ
    w ςετॻ͖΍͍͢ʂ

    View Slide

  21. ·ͱΊ
    w ৽͍ٕ͠ज़͸ָ͍͚͠Ͳ݁ߏἚͷಓ
    w ·ͣ೔ຊޠࢿྉ͕΄ͱΜͲͳ͍
    w ͨͩ͠(PPHMFͱ͍͏࠷ڧͷ஥͕͍ؒΔͨΊͱͬͯ΋҆৺
    Ͱ͖Δʂ
    w %BSU΋ֶशίετ͕ͦ͜·Ͱߴ͘ͳͯ͘Α͔ͬͨ
    w 'MVUUFS͸͍͍ͧʂ

    View Slide

  22. ͓·͚
    ։ൃॳظʜ
    'MVUUFS΍ͬͯΈΑ͏ͥʂ
    ͱબఆͨ͠΋ͷͷʜ
    શһ%BSU΋'MVUUFS΋ະܦݧ

    View Slide

  23. ͦ͜ͰϞϒϓϩͩʂʂ

    View Slide

  24. Ϟϒϓϩάϥϛϯά࠷ߴʂ
    w υϥΠόͷ࣋ͪ࣌ؒ͸෼ʂ
    w ͦͷଞͷਓ͸φϏήʔλ ࢦࣔग़͠

    w ΈΜͳͰ࣮ࡍʹ࣮૷͢ΔͷͰɺશһͷཧղ౓͕ߴ·Δɻ
    w φϨοδͷڞ༗͕Ͱ͖ͯͱͯ΋͍͍ײ͡ʂ
    υϥΠό ίʔσΟϯά୲౰
    Λॱ൪Ͱճ͍ͯ͘͠ɻ
    ͦͷଞͷਓ͸φϏήʔλʔʢࢦࣔग़͠ʣͱͯ͠ࢀՃ͢Δɻ

    View Slide

  25. ٸʹ'MVUUFSͰ։ൃͨ͘͠ͳͬ
    ͨͦ͜ͷ͋ͳͨʂʂ
    ҰॹʹϞϒϓϩ͠·ͤΜ͔ʂ

    View Slide

  26. ੋඇɺϋγΰͷϒʔεʹ
    ༡ͼʹདྷ͍ͯͩ͘͞ʂʂʂ
    ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide