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 full-size slide

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

    View full-size slide

  3. )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 full-size slide

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

    View full-size slide

  5. 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 full-size slide

  6. 03. &MPRVFOU

    1%0

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. 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 full-size slide

  10. 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 full-size slide

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

    View full-size slide

  12. w[FOEEJBDUPSPT˒ 

    JNQMFNFOUBUJPOTPGUIF143)551NFTTBHFJOUFSGBDFTBOE
    143)551NFTTBHFGBDUPSZJOUFSGBDFT
    wMFBHVFSPVUF˒

    'BTU143CBTFESPVUJOHBOEEJTQBUDIDPNQPOFOUJODMVEJOH
    143NJEEMFXBSF CVJMUPOUPQPG'BTU3PVUF
    wOPSUIXPPETSPVUFS˒

    'BTUSPVUFSGPS143SFRVFTUIBOEMFST
    wTVOSJTFIUUQSPVUFS˒

    7FSZGBTU)551SPVUFSXJUIBOOPUBUJPOTTVQQPSUGPS1)1
    CBTFEPO143BOE143
    wNJEEMFXBSFTSFRVFTUIBOEMFS˒

    143NJEEMFXBSFUPFYFDVUFSFRVFTUIBOEMFST
    143

    View full-size slide

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

    View full-size slide

  14. 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 full-size slide

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

    View full-size slide

  16. w 'FUDI"1*

    IUUQTGFUDITQFDXIBUXHPSH
    w 'MVY

    IUUQTGBDFCPPLHJUIVCJPqVY
    w 8FC$PNQPOFOUT

    IUUQTXXXXFCDPNQPOFOUTPSHTQFDT

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  19. https://www.webcomponents.org

    View full-size slide

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

    View full-size slide

  21. 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 full-size slide

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


    +40/9.-
    w 5ZQF4DSJQU
    5ZQF4ZTUFN

    View full-size slide

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


    1SPUPDPM#VGGFST
    w 5ZQF4DSJQU
    5ZQF4ZTUFN

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide