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

Xamarin.Formsライブラリを MAUIに移植した話

Kamu
September 30, 2022

Xamarin.Formsライブラリを MAUIに移植した話

Kamu

September 30, 2022
Tweet

More Decks by Kamu

Other Decks in Technology

Transcript

  1. !"#"$%&'()$#*+,-+./


    123456789:
    !"!!#$#%"&'(&)*+,*


    -.&/

    View Slide

  2. ;<=>
    [email protected]#G"HIJ


    KLMNOPQR.NSTUV0WX


    YZ[1\]^_`abcdefLghijk.lm


    0[%nopq0r0!"#"$%&


    !"#"$%&0stuvw?xOy.zNR{


    |}~•€]8•‚0H"#G*)ƒ„


    jk.0x…8†‡0C0ˆ‰Š0C0(%„‹)${


    +,-+.0x2%()$#*'\o„„%&Œ*•%oŽ0C02%()$#*'q%"•)Œ*•


    !"#"$%&'()$#*‘0p’“”•–0—˜™

    View Slide

  3. 2%()$#*0g=>0
    0121345#6*32789:;<:=&>46*327&[email protected]

    View Slide

  4. 2%()$#*d.Nš
    !"#"$%&'()$#*›œN•žR/2&Ÿ$)%Ÿ]%Z\5 ¡¢]›£¤¥™¦§¨©ª
    «¬-/®¯°¡+,-+.


    2%()#$*'\o„„%&Œ*•%oŽ0±²³123456789´µ


    ¶·¸¹/º™´°»°¡9¼g½)&„$)•


    2%()$#*'q%"•)Œ*


    ¾žkjžk¿ÀÁ¿5!21[·Ãg•%oŽ/ÄÅ°¡

    View Slide

  5. \o„„%&Œ*•%oŽ››Æ¡¢]
    \oÇ"$"„)$g…g¶·


    ÈÉÊË9Ìg…gÍ·


    .eRgÎÏÐÑÒÓgeQÔNy


    ÕQdÖÁ×]gÄÅÐØÄÅg¶
    ·


    ÕQdÖÁgOžœNg¶·


    q"„"Ùo#Ç•"„ogÚÛ


    ÕQdÖÁÜ›Â+žÝÂ+žÝ5¥
    ¡Þ‡ßà
    ÕygOáÁRÐ…©âãäg¶·


    ½o••åæ5çÁRfèeRg¶·


    —•gÕy›gj,éÁ¶·êëË
    †°‡•5ìz.èíždî/ÚÛ


    j,éÁgïð¶·


    ñò©·Ãóô½o••gõÛ


    View Slide

  6. ·Ãóô½o••
    -BCFM$FMM
    $PNNBOE$FMM
    #VUUPO$FMM
    4XJUDI$FMM
    $IFDLCPY$FMM
    3BEJP$FMM
    /VNCFS1JDLFS$FMM
    5JNF1JDLFS$FMM
    %BUF1JDLFS$FMM
    5FYU1JDLFS$FMM
    1JDLFS$FMM
    &OUSZ$FMM

    View Slide

  7. View Slide

  8. 1234ö.¾MR.
    ‹„„Ç*÷CCŒ%„‹Gø'ù)#C#G"HC2%()$#*'1"G%'\o„„%&Œ*•%oŽ

    View Slide

  9. 1"ù›glmúû
    F1GBH9IF>JKLMNOPLQRBCDE

    View Slide

  10. 1"ùgeüžQ
    ¢ý©þÿ!"¼g4&„o•0#"ù!


    ¢gÎgWþ‚¢gúû›gþ#5©™$°!

    View Slide

  11. •%*G"•0\„GŸ%)0p’pp0ƒ)$01"ù0“%'&0'p
    “%'&0'$on%oŽp0(p’ppC)C“*0+,•0-0'$on%oŽp'“›9.$/08•©^


    123]4°5¡!


    “%'&0'$on%oŽ“


    eR6e/Oy5þÿ©7†lm89©6:y


    ;,fÀ-0#"ùZ\034›<=89g›>»©39‚?/[email protected]’“)¥™B^!




    ø%&C)øI0OáyJKLM‚`,


    '$on%oŽ©ý•N´Ê8^¦g›‚©»OPQ+ÁfÀjfeœNR70ÊË¡


    ¦3]9»ÊýSÛ8•¦†3•]5D»9»ÊýTÝ6¾NR/E3•U8^

    View Slide

  12. ST=LF>JKU;[email protected]?XY


    Z[\]@^
    MNOP_`abcdeQfg_F>JKhiZ[\]@^BCDE

    View Slide

  13. +!"#"$%&gY¾NR‚p’p&•Z[“\$›x]“'Z•^{


    +Ì_›‚`a©7†1bý]89kÔJQR/cy›ơúû›‚©^


    ddî6NœN›gef‚89©g›jk.gh›‚©»Î5+,-+.©â
    gi³™D†6W°¡


    i³™g6W7jk8•D†jk.g6W/W_


    ëgl5‚úû7m3•^¡›no_]^_pqVär


    “'Z•gst‚uã]v^!]^_Dw.w.5©™ë_!

    View Slide

  14. +೥
    ʙ݄

    ʙ݄

    ʙ݄

    ʙ݄

    ʙ݄

    ʙ݄
    ϥΠϒϥϦͳͲͷҠߦ
    ΞϓϦຊମͷҠߦ

    View Slide

  15. xyz{0!"#"$%&'()$#*0)$01234
    Ì|V5‚â_}à•¦1234/7~


    lmúû7•^g›N€•g‚8^ƒ„ê-…†‡7ˆ‰


    !"#"$%&'()$#*0/]Š‹¥»lm›Æ<Œ¦n¡g›•Ž/7


    ..Ne›Æ•¦°•56WO•Nš5©¡


    ‘$8°5¡~


    ²‚xy5‚H/µ’©^7“”D¦!0

    View Slide

  16. F>JKj:;<:=LTk\lmn
    op;^BCDE
    G7q3*rLstu_`

    View Slide

  17. •g-ÔžQ
    Ù"$Œo„($"#oŽ)$H*0C03*o1"G%0C0\%&Œ•o'$)Ioù„0C0
    \GÇÇ)$„oŸZ\'•"„ƒ)$#•o$*%)&0n9™

    View Slide

  18. 2&Ÿ$)%Ÿ$–™
    2&Ÿ$)%Ÿ0—o*)G$ùo/õ_˜™xš56,j¿R·Ã]D{‚›„¦œ•


    ;žNŸ]D/ Š5°¡

    View Slide

  19. ¡y¢œN•žRhi
    3*o1"G%´\%&Œ•o'$)Ioù„/’/]OáyJN:Ne8DŠD©^g›OP,y£
    :Neg¡y¢œN•žR¦ Š5°¡©†¢1†7œ•


    ¢g¶·›¤%Z\¥]^_OáyJ]OP,y£5¤'%Z\¥7¦$Ë¡¦g‚%Z\œN•žR
    8•¤2&Ÿ$)%Ÿ¥]^_OáyJ]OP,y£5¤'2&Ÿ$)%Ÿ¥7¦$Ë¡¦g‚2&Ÿ$)%Ÿ7
    œN•žR]©¡

    View Slide

  20. OáyJ§Ÿ5µ^•
    \‹"$o


    \)#o•%oŽ'ù*


    '•"„ƒ)$#


    %Z\


    \)#o•%oŽ¨"&Ÿ•o$'ù*


    ©"„%no\)#o•%oŽ'ù*


    2&Ÿ$)%Ÿ


    \)#o•%oŽ¨"&Ÿ•o$'ù*


    ©"„%no\)#o•%oŽ'ù*
    Z—
    \)#o•%oŽ


    \)#o•%oŽ'ù*


    ©"„%no\)#o•%oŽ'%Z\'ù*


    ©"„%no\)#o•%oŽ'2&Ÿ$)%Ÿ'ù*


    \)#o•%oŽ¨"&Ÿ•o$'ù*


    \)#o•%oŽ¨"&Ÿ•o$'%Z\'ù*


    \)#o•%oŽ¨"&Ÿ•o$'2&Ÿ$)%Ÿ'ù*

    View Slide

  21. vwxyzBH9IF>JK{|
    5w7qyGop;^Lstu_`

    View Slide

  22. ©G*Çoù›gœN•žRÍ·
    „"$Œo„gªÆ«‚


    &o„”'’¬%)*-®¯TNMÖÁ°0C0&o„”'’¬"&Ÿ$)%Ÿ-®¯TNMÖÁ°0]©¡


    TNMÖÁ±²³´89†K+N5©39


    2&Ÿ$)%Ÿ‚¤""$¥OP,y¦1bý]¦¼¡

    View Slide

  23. }Z~•€[email protected]^•‚
    0121345#6*327ƒF>JK„L}Z~•€[email protected]^L…†uL‡D_`

    View Slide

  24. —o&Ÿo$o$0]0¨"&Ÿ•o$
    1234D†‚k+žROáNLéÁRÔNy]gµ¶µÆ‚¨"&Ÿ•o$7·_


    !"#"$%&'()$#*‚—o&Ÿo$o$7·3•^9


    1234›¦½)#Ç"„%ø%•%„¸]^_»»™›—o&Ÿo$o$‚`3•^¡


    Ù"ø•o•%oŽ0C0[%*„•%oŽ0©â


    1234›¦—o&Ÿo$o$‚õà¡7ê¢ËD†º¡©†¨"&Ÿ•o$«T7•Ž

    View Slide

  25. —o&Ÿo$o$0]0¨"&Ÿ•o$
    ¹7—o&Ÿo$o$›å7¨"&Ÿ•o$


    —o&Ÿo$o$‚—o&Ÿo$o$]'•"„ƒ)$#34]gµ¶µÆ7º»ê¨"&Ÿ•o$‚»^,
    ìNM

    View Slide

  26. ¨"&Ÿ•o$«T›g¼eœLéÁRÔNy
    1234½g•%oŽ(›¾•%$„G"••%oŽ•/·ÃA¿


    '•"„ƒ)$#½g•%oŽ(›¾'•"„ƒ)$#•%oŽ•/·Ã


    À5n¡¦g(34["øo•©â{/ëg$$õ_˜™‚Á•


    ¨"&Ÿ•o$/·Ã8•%$„G"••%oŽ]'•"„ƒ)$#•%oŽgÂÃ’/W_0Ä


    ½$o"„o'•"„ƒ)$#•%oŽìÅžÂÆNTN+,›'•"„ƒ)$#•%oŽ/NŸ8•Ç°


    '$)Ço$„¸1"ÇÇo$]½)##"&Ÿ1"ÇÇo$/·Ã°¡


    SÛu71234g¨"&Ÿ•o$]8•¿]ÄgÈô™–É/ÊË°¡x8•¦†_{

    View Slide

  27. ˆ15‰Šy3BCDE
    ‹y5‰y3y3ƒLŒ•Žˆ15‰Šy3••L‘’_`

    View Slide

  28. '$)Ço$„¸1"ÇÇo$
    •%$„G"••%oŽgkÔÌfÀ/'•"„ƒ)$#•%oŽ5ÂÍ’¡C9


    ¨"&Ÿ•o$5·Ã°¡

    View Slide

  29. '$)Ço$„¸1"ÇÇo$
    —o&Ÿo$o$g˜™êZ&Εo#o&„'$)Ço$„¸½‹"&ŒoŸ›kÔÌfÀg¡žÏÁÝ/W3•
    ^9


    $9Ð|Ñ5‚Ò¯8©^g›Ð³‚Hž›ÓÔœ•7n39

    View Slide

  30. '$)Ço$„¸1"ÇÇo$
    ¨"&Ÿ•o$g˜™‚'$)Ço$„¸1"ÇÇo$]^_C9›kÔÌfÀ]g¡žÏÁÝ/W_!


    Ð|Ñ5¦®¯ÊË¡!

    View Slide

  31. ½)##"&Ÿ1"ÇÇo$
    •%$„G"••%oŽgìÅžÂ/'•"„ƒ)$#•%oŽ5Õ™Ö•¡C9


    1234½D†'•"„ƒ)$#½gìÅžÂ/Ó‡¡


    —o&Ÿo$o$5‚©D39C9


    ×Ø‚ono&„©â/>8•<+ÊË•^9


    ½)##"&Ÿ1"ÇÇ„o$5¥3•dÁky5<+›Æ¡¥_5©39

    View Slide

  32. ½)##"&Ÿ1"ÇÇo$
    •%$„G"••%oŽ½g·Ã


    ¨"&Ÿ•o$½g·Ã

    View Slide

  33. 1"ÇÇo$gÕ™Ùô
    ·Ãóô1"ÇÇo$gÚÒ5Õ™Ùý/™êæªÆ89™°¡C97n¡!


    +,-+.lm½›‚©»SÛu7¼eœ¡,š´Tݳ۩â›SÛ›Æë
    _!


    ‹„„Ç*÷CC•o"$&'#%ù$)*)ƒ„'ù)#CI"¬IÇCŸ)„&o„C#"G%CG*o$¬%&„o$ƒ"ùoC
    ‹"&Ÿ•o$*CùG*„)#%ÜoÝùG*„)#%Üo¬"¬ù)&„$)•¬Ž%„‹¬"¬#"ÇÇo$

    View Slide

  34. 1"ÇÇo$gÞß
    '$)Ço$„¸1"ÇÇo$´½)##"&Ÿ1"ÇÇo$géÁeR+Qœàá5â"*og1"ÇÇo$/Í·°¡


    éÁeR+Qœ5ëËãËg1"ÇÇo$/Í·°¡

    View Slide

  35. Áä©*„"„%ù0%&%„(•D†gå•
    ()$#*Ìæ‚[%&Ho$5çÊË©^¥_5¢ý©èìÅžÂ/·Ã8•éNêN5
    ëk+žROáNL×]5Ð|ìéNÂ/ªDÉ•^9!

    View Slide

  36. Áä©*„"„%ù0%&%„(•D†gå•
    ¨"&Ÿ•o$›‚¢_^_íîìÅžÂ/“µÛu8•ëË/1"G%'$)Œ$"#›Óý›¦
    †àïZð.0ñò~

    View Slide

  37. ¨"&Ÿ•o$Ü5ª»óc
    •gV5¢Ë»†^58]»g7ôÊë_


    ½$o"„o'•"„ƒ)$#•%oŽ›NŸóc]Ð|ìóc0


    1"ÇÇo$g·ÃêìÅžÂ


    q%*ù)&&où„›Òõö


    '•"„ƒ)$#•%oŽ÷™góc‚Y-Q+eì8•ë315ª»«7øµ™5©3•
    ¥Êë_


    34["øo•-1¸["øo•58•ë¢5•%oŽ÷™góc/ª»

    View Slide

  38. “L”LF>JK:;<:=…•L


    –—˜

    View Slide

  39. •%$„G"••%oŽgÙ)¨"&Ÿ•o$0íîìÅžÂ


    ¢gìÅžÂ5¥3•ùug•%$„G"••%oŽD†'•"„ƒ)$#•%oŽ/NŸ8•nˢ˛ơ!


    (%&Ÿ1"G%½)&„oJ„‚%&„o$&"•/39g›úûü™ý8!


    ‹„„Ç*÷CCŒ%„‹Gø'ù)#C#G"HC2%()$#*'1"G%'\o„„%&Œ*•%oŽCø•)øC#"*„o$C
    \o„„%&Œ*•%oŽCÎJ„o&*%)&*C•%oŽÎJ„o&*%)&'ù*

    View Slide

  40. ¸þgØÿ|!ôý8
    44#"Œo\)G$ùo'"$„


    ¸þ!ôý8®"gkÔÌfÀ/·Ã


    4#"Œo\)G$ùo'"$„[)"Ÿo$


    éÁeR+Qœ›¨"&Ÿ•o$]44#"Œo\)G$ùo'"$„g<=]éNyTžQ/Í·


    3ÇŸ"„o4#"Œo\)G$ùo2*¸&ù(•0›!ôý8lõ!jk°¡]éNyTžQ7
    ÓïË¡

    View Slide

  41. ¸þgØÿ|!ôý8

    View Slide

  42. ()&„hi
    ()&„1"&"Œo$g#$


    41"G%½)&„oJ„'\o$n%ùo*'%o„\o$n%ùo&4()&„1"&"Œo$'(•0›#$


    1"G%½)&„oJ„‚¨"&Ÿ•o$D†#$ê$9‚Ú(89(%&Ÿ1"G%½)&„oJ„©âD†
    #$


    ["ܸõ3•ô•¦ô^D¦


    )g1234YNce¦ñò¢Ë›]Ë¡

    View Slide

  43. ()&„hi
    ()&„("#%•¸*0()&„\%Üo*0()&„2„„$%øG„o*D†()&„Æ-M•QR/Ç°Ù)()&„
    íîìÅžÂ/·Ã


    o&"ø•o\ù"•%&Œ‚Z\geXN.ÁÝ5®¯°¡D+D

    View Slide

  44. ()&„hi
    %Z\g,


    2&Ÿ$)%Ÿg,

    View Slide

  45. cĪ

    View Slide

  46. 12346W5µ^•
    6W5DD39|-


    p’pp•*[»†^D†µ^¢g-x)[ö{$›


    .“–p\»†^›1¶1¶


    *–“’\»†^


    /0‹


    Z’–”’1»†^éÏü›W’9þ2

    View Slide

  47. 1234¼eœLéÁRÔNy
    !"#"$%&'()$#*Ìæ]H-‚n$™3–†©^!


    ¨"&Ÿ•o$g1"ÇÇo$g·Ã7455¼ýâ»Ê^g›ëgò´´éNÂ076
    à9D¦!


    ²gúû›¦+,-+.g<=‚@]D›Æ¡!




    ]™nà?+,-+.D†6W8¥_!

    View Slide

  48. Hš†
    ›œ•ž†Ÿƒ ›¡Dc¢e£

    View Slide

  49. 2%()$#*'\o„„%&Œ*•%oŽ
    £¤gÙ"ø•o•%oŽ‚›Æ¡¢]77©°5¡


    íî8•^o^o›Æ¡¥_589


    1234ö‚Ù"ø•o•%oŽgY-Q+e›‚©»ú8]8•<=


    ¶·¸¹ºŸŠ‹jžk

    View Slide