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

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

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

C4c161ae9eeeed8f161197410f7a228a?s=128

Kenichiro Kishida

June 29, 2019
Tweet

Transcript

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

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

  3. None
  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
  5. None
  6. None
  7. None
  8. None
  9. 4FMFDUPS"1* wRVFSZ4FMFDUPS wRVFSZ4FMFDUPS"MM https://www.w3.org/TR/selectors-api/#grammar

  10. None
  11. None
  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
  13. 03. &MPRVFOU 1%0

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

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

  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
  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
  19. https://speakerdeck.com/tanakahisateru/17ninatutafalseka

  20. w[FOEEJBDUPSPT˒ 
 JNQMFNFOUBUJPOTPGUIF143)551NFTTBHFJOUFSGBDFTBOE 143)551NFTTBHFGBDUPSZJOUFSGBDFT wMFBHVFSPVUF˒
 'BTU143CBTFESPVUJOHBOEEJTQBUDIDPNQPOFOUJODMVEJOH 143NJEEMFXBSF CVJMUPOUPQPG'BTU3PVUF wOPSUIXPPETSPVUFS˒
 'BTUSPVUFSGPS143SFRVFTUIBOEMFST

    wTVOSJTFIUUQSPVUFS˒
 7FSZGBTU)551SPVUFSXJUIBOOPUBUJPOTTVQQPSUGPS1)1  CBTFEPO143BOE143 wNJEEMFXBSFTSFRVFTUIBOEMFS˒
 143NJEEMFXBSFUPFYFDVUFSFRVFTUIBOEMFST 143
  21. https://github.com/sizuhiko/ psr15-requesthandler-examples

  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
  23. w 3FRVFTU3FTQPOTF w 4UBUF.BOBHFNFOU w $PNQPOFOU%0.3FOEFSJOH

  24. w 'FUDI"1*
 IUUQTGFUDITQFDXIBUXHPSH w 'MVY
 IUUQTGBDFCPPLHJUIVCJPqVY w 8FC$PNQPOFOUT
 IUUQTXXXXFCDPNQPOFOUTPSHTQFDT

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

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

  27. https://www.webcomponents.org

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

  29. None
  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]
  31. w 3%#$PMVNO5ZQF w 1)1$MBTT "UUSJCVUF ʜ
 
 +40/9.- w 5ZQF4DSJQU

    5ZQF4ZTUFN
  32. None
  33. w 3%#$PMVNO5ZQF w 1)1$MBTT "UUSJCVUF ʜ
 
 1SPUPDPM#VGGFST w 5ZQF4DSJQU

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

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

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