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

Xamarin으로 모바일 앱 개발 빠르게 시작하기

Manjong Han
November 26, 2017

Xamarin으로 모바일 앱 개발 빠르게 시작하기

Manjong Han

November 26, 2017
Tweet

More Decks by Manjong Han

Other Decks in Programming

Transcript

  1. 9BNBSJOਵ۽䱋
    ݽ߄ੌজѐߊࡅܰѱद੘ೞӝ
    9BNBSJO'PSNTܳ੉ਊೞৈJ04৬"OESPJEܳ૑ਗೞח䱋
    ௼۽झ೒ۖಬݽ߄ੌজѐߊਸрױೠपणਵ۽ࣗѐ೤פ׮
    !ೠন؀೟Ү೟ো࢑௿۞झఠ

    View full-size slide

  2. 1.9BNBSJO੉ۆ 䱋
    ೠ݅ઙ
    ъթ؀೟Ү].JDSPTPGU4UVEFOU1BSUOFST,PSFB䱋
    2.9BNBSJO'PSNTܳ੉ਊೠݽ߄ੌজѐߊपण*䱋
    ߅ࢶ৔
    Ҋ۰؀೟Ү].JDSPTPGU4UVEFOU1BSUOFST,PSFB䱋
    3.9BNBSJO'PSNTܳ੉ਊೠݽ߄ੌজѐߊपण**䱋
    ੉ೞ৔
    ೠন؀೟Ү].JDSPTPGU4UVEFOU1BSUOFST,PSFB

    View full-size slide

  3. 9BNBSJO੉ۆ
    ೠ݅ઙ
    ъթ؀೟Ү].JDSPTPGU4UVEFOU1BSUOFST

    View full-size slide

  4. )JTUPSZPG9BNBSJO
    ↟֙ਘ .JHVFMEF*DB[Bܳ࠺܃ೠ.POP೐ۨ੐ਕ௼ѐ
    ߊ૓ী੄೧ࢸ݀ػӝস䱋
    ↟.POP೐ۨ੐ਕ௼ _

    .JHVFMEF*DB[Bо֙ਘী୊਺ҕѐػ.JDSPTPGU੄/&5೐ۨ੐
    ਕ௼ܳ-JOVYীࢲҳزೞӝਤ೧द੘ೠয়೑ࣗझ೐۽ં౟䱋
    /&5&$."಴ળ੄ҳഅ୓੉ӝٸޙী/&5೐ۨ੐ਕ௼੄য়೑ࣗझߡ੹
    ੉঻ਵݴ -JOVYܳ࠺܃ೠ׮নೠജ҃ীࢲҳزоמ䱋
    ↟֙ਘ .JDSPTPGUী੄೧ੋࣻ

    View full-size slide

  5. .JDSPTPGU/&5

    View full-size slide

  6. .JDSPTPGU/&5

    View full-size slide

  7. .JDSPTPGU/&5

    View full-size slide

  8. 8IZ9BNBSJO
    ↟֎੉౭࠳۽ஹ౵ੌغয۠ఋ੐ࢿמ੷ೞ୭ࣗച䱋
    9BNBSJO"OESPJE+*5 +VTU*O5JNF
    ֎੉౭࠳ஹ౵ੌ䱋
    9BNBSJOJ04"05 "IFBE0G5JNF
    ஹ౵ੌਸాೠ֎੉౭࠳"3.
    ߄੉ցܻࢤࢿ䱋
    ↟$җ9".-঱যܳࢎਊೞח௼۽झ೒ۖಬѐߊبҳ䱋
    ↟.JDSPTPGU/&5'SBNFXPSL .POP
    ӝ߈੄ѐߊജ҃

    View full-size slide

  9. 9BNBSJO0WFSWJFX
    iOS Native API Android Native API
    Shared App Logic
    iOS UI Logic Android UI Logic

    View full-size slide

  10. 9BNBSJO0WFSWJFX
    iOS Native API Android Native API
    Shared App Logic
    iOS UI Logic Android UI Logic
    Xamarin.iOS Xamarin.Android

    View full-size slide

  11. 9BNBSJO0WFSWJFX
    iOS Native API Android Native API
    Shared App Logic
    Shared UI Logic

    View full-size slide

  12. 9BNBSJO0WFSWJFX
    iOS Native API Android Native API
    Shared App Logic
    Shared UI Logic
    Xamarin.Forms

    View full-size slide

  13. #BTJDPG9BNBSJO'PSNT
    ↟"QQ
    ↟1BHF
    ↟-BZPVU
    ↟7JFX

    View full-size slide

  14. "QQ
    ↟੘ࢿೞחয೒ܻா੉࣌੄ӝ߈੉غח௿ېझ䱋
    ↟য೒ܻா੉࣌୊਺प೯दप೯غח1BHFࢸ੿䱋
    ↟য೒ܻா੉࣌੉प೯غחزউࢎਊೡࣻ੓ח੿੸ؘ੉ఠ੷੢
    ࣗ1SPQFSUJFT٤࣊ցܻਤ஖䱋
    ↟അ੤য೒ܻா੉࣌ੋझఢझ ೐۽ࣁझ
    ܳଵઑೞח$VSSFOU੿
    ੸ࣘࢿਤ஖

    View full-size slide

  15. 1BHF
    ↟ചݶীࢲо੢௾ױਤ੄6*ҳࢿਃࣗ۽ࢲ੗धਃࣗࣗਬ䱋
    ↟J04ীࢲח7JFX$POUSPMMFSܳ੄޷ "OESPJEীࢲח"DUJWJUZ৬ਬࢎ

    View full-size slide

  16. -BZPVU
    ↟7JFXژחژ׮ܲ-BZPVUਸߓ஖ೞח7JFX

    View full-size slide

  17. 7JFX
    ↟о੢੘਷ױਤ੄6*ҳࢿਃࣗ۽ࢲ6*ஶ౟܀ਤઇ
    Entry
    EntryRenderer EntryRenderer
    UITextField EditText

    View full-size slide

  18. /V(FU1BDLBHF.BOBHFS
    ↟.JDSPTPGUѐߊജ҃ਸਤೠয়೑ࣗझ
    ಁః૑ݒפ੷䱋
    ↟7JTVBM4UVEJP੄ഛ੢೐۽Ӓ۔䱋
    ↟/&5೐ۨ੐ਕ௼ਊ ֎੉౭࠳$ਊ
    ۄ੉࠳۞ܻ١ࢸ஖оמ

    View full-size slide

  19. HBH޽ࢤࢿজѐߊपण
    https://github.com/iBluemind/meme9gag

    View full-size slide

  20. 9BNBSJO'PSNTܳ੉ਊೠѐߊपण
    ߅ࢶ৔
    Ҋ۰؀೟Ү].JDSPTPGU4UVEFOU1BSUOFST

    View full-size slide

  21. 9".-۽6*٣੗ੋೞӝ
    ↟F9UFOTJCMF"QQMJDBUJPO.BSLVQ-BOHVBHF䱋
    ↟.JDSPTPGUীࢲѐߊೠ9.-ӝ߈੄కӒ঱য䱋
    ↟)5.-୊ۢ6*ҳࢿਃࣗܳࣚऔѱߓ஖䱋
    ↟$௏٘࠺ೞੋ٘౵ੌҗোѾغযز੘䱋
    FY
    .BJO1BHFYBNM౵ੌҗ.BJO1BHFYBNMDT

    View full-size slide

  22. 9".-۽6*٣੗ੋೞӝ
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="XamlSamples.GridDemoPage"
    Title="Grid Demo Page">






    Grid.Row="0" Grid.Column="0"
    TextColor="White"
    BackgroundColor="Blue" />


    View full-size slide

  23. 9BNBSJO'PSNTܳ੉ਊೠѐߊपण
    ੉ೞ৔
    ೠন؀೟Ү].JDSPTPGU4UVEFOU1BSUOFST

    View full-size slide

  24. $ਵ۽জ۽૒ҳഅೞӝ
    ↟9".-౵ੌҗোѾغয௏٘࠺ೞੋ٘౵ੌ۽ࢲӝמҳഅ䱋
    ↟पઁয೒ܻா੉࣌ز੘ࠗ࠙ੋজ۽૒ਸҳഅ䱋
    ↟ࠁా.77. .PEFM7JFX7JFX.PEFM
    ಁఢਵ۽ҳഅ

    View full-size slide

  25. $ਵ۽জ۽૒ҳഅೞӝ
    using System;
    using Xamarin.Forms;
    namespace FormsGallery
    {
    class ButtonDemoPage : ContentPage
    {
    Label label;
    int clickTotal = 0;
    public ButtonDemoPage()
    {
    Button button = new Button
    {
    Text = "ׂ۞઱ࣁਃ!",
    HorizontalOptions = LayoutOptions.Center,
    VerticalOptions = LayoutOptions.CenterAndExpand
    };
    button.Clicked += OnButtonClicked;

    View full-size slide

  26. $ਵ۽জ۽૒ҳഅೞӝ
    label = new Label
    {
    Text = "0ߣ ־࣑ܰणפ׮",
    HorizontalOptions = LayoutOptions.Center,
    VerticalOptions = LayoutOptions.CenterAndExpand
    };
    this.Content = new StackLayout
    {
    Children = { button, label }
    };
    }
    void OnButtonClicked(object sender, EventArgs e)
    {
    label.Text = String.Format("{0}ߣ ־࣑ܰणפ׮”, ++clickTotal);
    }
    }
    }

    View full-size slide

  27. хࢎ೤פ׮

    View full-size slide