Protocol Oriented WebAPI Abstraction

Protocol Oriented WebAPI Abstraction

try! Swift Tokyo 2018

Fde9dba1aedf64b81188f4810a4b001c?s=128

Yuya Hirayama

March 01, 2018
Tweet

Transcript

  1. 1SPUPDPM0SJFOUFE8FC"1*"CTUSBDUJPO !IJSBHSBN USZ4XJGU5PLZP

  2. w)PXEPZPVEFpOFZPVSXFC"1*FOEQPJOUTJOZPVS4XJGU DPEF  CBTF63- QBUI QBSBNFUFST SFTQPOTFKTPOTUSVDUVSF  FUDʜ 

    w5IPTFEFpOJUJPOTTIPVMECFJOEFQFOEFOUGSPNOFUXPSLJOH GSBNFXPSL w.BLFTFBTJFSUPSFQMBDFOFUXPSLJOHGSBNFXPSLJOUIF GVUVSF w*OEFQFOEFOUEFpOJUJPOTVJUTCFUUFSUPDPEFHFOFSBUJPOGSPN "1*EPDVNFOUBUJPO FY4XBHHFS
  3. w*DSFBUFE"CTUSBDUJPO,JU QSPWJEFTWBSJPVT QSPUPDPMTBOETUSVDUTUPEFpOFXFC"1*FOEQPJOUT w"CTUSBDUJPO,JUEPFTOPUIJOHBCPVUBDUVBMOFUXPSL SFRVFTUBOEKTPONBQQJOHTPZPVDBOVTFBOZ OFUXPSLJOHBOENBQQJOHGSBNFXPSLTXIJDIZPV VTVBMMZVTF w"CTUSBDUJPO,JU`TOPUBCMFGFBUVSFJTKTPOTUSVDUVSF SFQSFTFOUBUJPO'PSFYBNQMF

  4. 4JOHMF3FTQPOTF6TFS USZ4JOHMF3FTQPOTF6TFSJOJU KTPOKTPO SFTVMU6TFS

  5. "SSBZ3FTQPOTF6TFS USZ"SSBZ3FTQPOTF6TFSJOJU KTPOKTPO SFTVMU<6TFS>

  6. &NQUZ3FTQPOTF USZ&NQUZ3FTQPOTFJOJU KTPOKTPO SFTVMU7PJE 8IFOZPVEPO`UIBWFUPQBSTFSFTQPOTF

  7. $PNCJOFE3FTQPOTF4JOHMF3FTQPOTF6TFS  "SSBZ3FTQPOTF.FTTBHF USZʜJOJU KTPOKTPO SFTVMU 6TFS <.FTTBHF>

  8. QSPUPDPM&OEQPJOU%FpOJUJPO QBUI QBSBNFUFST NFUIPE BTTPDJBUFEUZQF3FTQPOTF 3FTQPOTF%FpOJUJPO 4JOHMF3FTQPOTF "SSBZ3FTQPOTF  $PNCJOFE3FTQPOTF

    FUDʜ BTTPDJBUFEUZQF3FTVMU BTTPDJBUFEUZQF+40/ <4USJOH"OZ> <<4USJOH"OZ>>
  9. None
  10. 4BNQMFPG"1*BCTUSBDUJPOVTJOH "CTUSBDUJPO,JU "1*,JU 3Y4XJGU

  11. None
  12. None
  13. None
  14. None
  15. w8IFOZPVXBOUUPBEEOFXFOEQPJOUEFpOJUJPO  KVTUEFpOFTUSVDUUIBUDPOGPSNTUP &OEQPJOU%FpOJUJPOBOEDSFBUFUIJOXSBQQFSGPS VQQFSMBZFS w*OUIJTBSDIJUFDUVSF "1*,JUEFQFOEFODZJTPOMZ JOASFRVFTUANFUIPEBOE"1*,JU#SJEHF3FRVFTU  TPJU`TMPPTFMZDPVQMFE

  16. 5IBOLZPV w5XJUUFS(JU)VC!IJSBHSBN w8PSLJOHBU7"4*-: (PME4QPOTPS  wIUUQTHJUIVCDPNIJSBHSBN"CTUSBDUJPO,JU