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

標準インターフェースを使ったアプリケーション開発/phpcon-fukuoka-2019

 標準インターフェースを使ったアプリケーション開発/phpcon-fukuoka-2019

フレームワーク使っていますか?
PHPで作るサーバーサイド、ブラウザで動作するWebフロントエンド、どちらの開発においてもフレームワークは開発の効率化(速度や品質)を強力にサポートしてくれます。
でもカンファレンスなどで発表される内容には、〇〇からXXに移行してみた、とかバージョンアップを頑張った、という話が多いなと感じることはないでしょうか?
もちろんフレームワークをまったく使わない開発というのは難しいかもしれません。
そこで標準インターフェースを意識することで少し遠回りになりますが、ライフサイクルの長いサービスのアプリケーションで壊滅的な技術困難を避けられる可能性が高まります。
このセッションでは、現時点で考えられるなかで、なるべくロックインせず効率的に開発するのに役立つ技術要素について紹介します。
サーバーサイド/フロントエンドのアプリケーション開発をしていく上での、1つの気づきになれば幸いです。

Kenichiro Kishida

June 29, 2019
Tweet

More Decks by Kenichiro Kishida

Other Decks in Technology

Transcript

  1. ඪ४ΠϯλʔϑΣʔεΛ࢖ͬͨ
    ΞϓϦέʔγϣϯ։ൃ
    1)1ΧϯϑΝϨϯε෱Ԭ
    ,FOJDIJSP,JTIJEB
    !TJ[VIJLP

    View Slide

  2. ,FOJDIJSP,JTIJEB
    5PLZP +"1"/
    TJ[VIJLP!HNBJMDPN !TJ[VIJLP
    IUUQTHJUIVCDPNTJ[VIJLP
    IUUQCMPHPQFOUPLZPKQ

    View Slide

  3. View Slide

  4. )JTUPSZ
    ݱࡏ
    )551
    )5.-
    +4
    1)1
    42-
    .PKBWJ
    "HBWJ
    4ZNGPOZ $BLF1)1
    $* ;FOE
    :JJ
    4MJN 'VFM -BSBWFM "VSB Y
    https://github.com/pmjones/php-history

    View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. 4FMFDUPS"1*
    wRVFSZ4FMFDUPS
    wRVFSZ4FMFDUPS"MM
    https://www.w3.org/TR/selectors-api/#grammar

    View Slide

  10. View Slide

  11. View Slide

  12. 03. 1%0
    w %PDUSJOF

    1SPQFM

    w 2VFSZ#VJMEFS
    w "DUJWF3FDPSE
    w "TTPDJBUJPOT
    w 1PMZNPSQIJD
    w FUD
    w GSPN
    1)1

    w 1SFQBSFE4UBUFNFOU
    w 'FUDI0CKFDU
    w %SJWFS4VQQPSU
    w FUD

    View Slide

  13. 03. &MPRVFOU

    1%0

    View Slide

  14. -FBSO42-3%#
    https://www.amazon.co.jp/dp/4297104083
    https://www.amazon.co.jp/dp/4774180661

    View Slide

  15. View Slide

  16. https://www.php-fig.org/psr/

    View Slide

  17. w #BTJD$PEJOH4UBOEBSE
    w $PEJOH4UZMF(VJEF
    w -PHHFS*OUFSGBDF
    w "VUPMPBEJOH4UBOEBSE
    w $BDIJOH*OUFSGBDF
    w )551.FTTBHF*OUFSGBDF
    w $POUBJOFS*OUFSGBDF
    w )ZQFSNFEJB-JOLT
    w &WFOU%JTQBUDIFS
    w )551)BOEMFST
    w 4JNQMF$BDIF
    w )551'BDUPSJFT
    w )551$MJFOU
    "DDFQUFE143

    View Slide

  18. w #BTJD$PEJOH4UBOEBSE
    w $PEJOH4UZMF(VJEF
    w -PHHFS*OUFSGBDF
    w "VUPMPBEJOH4UBOEBSE
    w $BDIJOH*OUFSGBDF
    w )551.FTTBHF*OUFSGBDF
    w $POUBJOFS*OUFSGBDF
    w )ZQFSNFEJB-JOLT
    w &WFOU%JTQBUDIFS
    w )551)BOEMFST
    w 4JNQMF$BDIF
    w )551'BDUPSJFT
    w )551$MJFOU
    "DDFQUFE143

    View Slide

  19. https://speakerdeck.com/tanakahisateru/17ninatutafalseka

    View Slide

  20. w[FOEEJBDUPSPT˒ 

    JNQMFNFOUBUJPOTPGUIF143)551NFTTBHFJOUFSGBDFTBOE
    143)551NFTTBHFGBDUPSZJOUFSGBDFT
    wMFBHVFSPVUF˒

    'BTU143CBTFESPVUJOHBOEEJTQBUDIDPNQPOFOUJODMVEJOH
    143NJEEMFXBSF CVJMUPOUPQPG'BTU3PVUF
    wOPSUIXPPETSPVUFS˒

    'BTUSPVUFSGPS143SFRVFTUIBOEMFST
    wTVOSJTFIUUQSPVUFS˒

    7FSZGBTU)551SPVUFSXJUIBOOPUBUJPOTTVQQPSUGPS1)1
    CBTFEPO143BOE143
    wNJEEMFXBSFTSFRVFTUIBOEMFS˒

    143NJEEMFXBSFUPFYFDVUFSFRVFTUIBOEMFST
    143

    View Slide

  21. https://github.com/sizuhiko/
    psr15-requesthandler-examples

    View Slide

  22. w #BTJD$PEJOH4UBOEBSE
    w $PEJOH4UZMF(VJEF
    w -PHHFS*OUFSGBDF
    w "VUPMPBEJOH4UBOEBSE
    w $BDIJOH*OUFSGBDF
    w )551.FTTBHF*OUFSGBDF
    w $POUBJOFS*OUFSGBDF
    w )ZQFSNFEJB-JOLT
    w &WFOU%JTQBUDIFS
    w )551)BOEMFST
    w 4JNQMF$BDIF
    w )551'BDUPSJFT
    w )551$MJFOU
    "DDFQUFE143

    View Slide

  23. w 3FRVFTU3FTQPOTF
    w 4UBUF.BOBHFNFOU
    w $PNQPOFOU%0.3FOEFSJOH

    View Slide

  24. w 'FUDI"1*

    IUUQTGFUDITQFDXIBUXHPSH
    w 'MVY

    IUUQTGBDFCPPLHJUIVCJPqVY
    w 8FC$PNQPOFOUT

    IUUQTXXXXFCDPNQPOFOUTPSHTQFDT

    View Slide

  25. https://developer.mozilla.org/ja/docs/Web/API/Fetch_API/Using_Fetch

    View Slide

  26. https://facebook.github.io/flux/docs/in-depth-overview.html

    View Slide

  27. https://www.webcomponents.org

    View Slide

  28. https://wicg.github.io/import-maps/

    View Slide

  29. View Slide

  30. Walk on road, hm? Walk left side, safe. Walk right side, safe.

    Walk middle, sooner or later, “get squish just like grape.”



    Here, karate, same thing.

    Either you karate do "yes" or karate do "no."

    You karate do "guess so,"just like grape. Understand?


    [ from Karate Kid / Mr.Miyagi]

    View Slide

  31. w 3%#$PMVNO5ZQF
    w 1)1$MBTT "UUSJCVUF ʜ


    +40/9.-
    w 5ZQF4DSJQU
    5ZQF4ZTUFN

    View Slide

  32. View Slide

  33. w 3%#$PMVNO5ZQF
    w 1)1$MBTT "UUSJCVUF ʜ


    1SPUPDPM#VGGFST
    w 5ZQF4DSJQU
    5ZQF4ZTUFN

    View Slide

  34. https://github.com/protocolbuffers/protobuf-php

    View Slide

  35. w՝୊Λղܾ͢ΔͨΊʹద੾ͳղܾࡦΛબ୒͠Α͏
    wඪ४Λ࢖͏͜ͱͰɺҠߦՄೳͳίʔυΛ૿΍͢͜ͱ
    ͕Ͱ͖Δ
    wΠϯλʔϑΣʔεॏཁ
    wຊ೔͸঺հϝΠϯͩͬͨͷͰɺؾʹͳΔΩʔϫʔυ
    ͕͋ͬͨΒௐ΂ͯ࢖ͬͯΈ͍ͯͩ͘͞
    ·ͱΊ

    View Slide

  36. WJTJUNZCMPHHJUIVC
    https://github.com/sizuhiko
    http://blog.open.tokyo.jp

    View Slide