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

コンテナDojo #3:[入門者歓迎] .NET 7の概要、MAUI, Web, コンテナ

コンテナDojo #3:[入門者歓迎] .NET 7の概要、MAUI, Web, コンテナ

米国Microsoft社は2022年11月8日(米国時間)に .NET 7をリリースしました。このセッションでは、.NET 7の概要を知り、特にクライアントアプリ、Web APIの開発、サーバーアプリをコンテナ化して利用していく上での技術や新機能を確認していきます。

(セッション内容)

.NET 超概要
ブラウザーで.NET / C# 体験
C# 11の新機能
パフォーマンスの改善
.NET MAUI: デスクトップ、モバイル、マルチプラットフォーム対応アプリ開発
ASP.NET Core と 簡単なWeb APIの開発
dotnetコマンドによるコンテナイメージ作成

(事前準備) 参加前に、下記のセットアップを終えておくと、セッション中/セッション後に新しい技術を試せますので、ご準備ください。

.NET 7のインストール(https://dotnet.microsoft.com/ja-jp/download)
Visual Studio または Visual Studio for Mac またはVisual Studio Codeのインストール (https://visualstudio.microsoft.com/)
Docker Desktop for Windows または Docker Desktop for Mac (https://www.docker.com/products/docker-desktop/)

Akira Onishi (IBM)

December 12, 2022
Tweet

More Decks by Akira Onishi (IBM)

Other Decks in Programming

Transcript

  1. ೔ຊΞΠɾϏʔɾΤϜגࣜձࣾ
    ςΫϊϩδʔࣄۀຊ෦
    ΧελϚʔɾαΫηε ϓϦϯγύϧɾϚωʔδϟʔ
    ݉ 8JOEPXT$POUBJOFS1PSUJOH1SPHSBNਪਐϦʔμʔ
    େ੢ জ "LJSB0OJTIJ!JCNDPN 5XJUUFS!POJBL

    IUUQTXXXGBDFCPPLDPNBLJSBPOJTIJ
    IUUQTXXXMJOLFEJODPNJOPOJBL
    ίϯςφ %PKPୈճ <ೖ໳ऀ׻ܴ>
    /&5֓ཁ ."6* 8FC ίϯςφ

    View full-size slide

  2. ࣗݾ঺հ
    1SPQFSUZ 7BMVF
    ࢯ໊ େ੢ জ
    5XJUUFS-JOLFE*O POJBL
    *5ۀքྺ ೥໨
    ௚ۙͷ৬ྺ Microsoft ೥ *#.೥໨
    )BTI5BH ͍͍Ͷ͐੩Ԭੜ׆
    ࠲ӈͷ໏ ౿·Εͯ΋ͳ্ཱ͓͕ͪΔಓͷ૲
    Α͘࢖͏ٕ ೴಺ม׵Ͱࣗ෼ΛϙδςΟϒʹ
    IUUQTXXXGBDFCPPLDPNBLJSBPOJTIJ
    'BDFCPPLʮ͓ʹ͋͘ʯͰݕࡧ

    View full-size slide

  3. ίϯςφ%PKPୈճͷൣғ
    /&5Λ஌Δɺࢼͨ͢ΊͷೖΓޱʹཱͭɺ
    ׆༻Λ૝૾͢Δ
    ˞/&5Λ໢ཏతʹղઆ͢ΔηογϣϯͰ͸
    ͋Γ·ͤΜɻ

    View full-size slide

  4. /&5ͷμ΢ϯϩʔυͱΠϯετʔϧ
    IUUQTEPUOFUNJDSPTPGUDPNKBKQEPXOMPBE

    View full-size slide

  5. ࠓ೔ͷ࿩୊
    /&5ͷ֓ཁΛ஌ΓɺΞϓϦ։ൃͷೖΓޱʹཱͪɺ
    /&5ͷ׆༻Λ૝૾͠·͢
    Θ͔Βͳ͍ݴ༿͕ग़͖ͯͨΒɺ·ͣ͸ݕࡧ
    ϋʔυ΢ΣΞ
    -JOVY04
    ίϯςφϓϥοτϑΥʔϜ
    ίϯςφ
    /&5
    αʔόʔ
    ΞϓϦ"
    ίϯςφ
    /&5
    αʔόʔ
    ΞϓϦ#
    ϋʔυ΢ΣΞ
    8JOEPXT.BD-JOVY04
    /&5ϓϥοτϑΥʔϜ
    σόΠε
    ΞϓϦ"
    ϋΠϒϦου
    ΞϓϦ#

    View full-size slide

  6. "HFOEB
    /&5௒֓ཁɺ$ମݧ
    /&5ɺ$ͷ৽ػೳɺδΣωϦοΫܕ਺஋ԋࢉ
    ύϑΥʔϚϯεͷվળ
    /&5."6*ɺσεΫτοϓɺϞόΠϧΞϓϦ։ൃ
    "41/&5ମݧ
    "41/&5ͷ৽ػೳɺ؆୯ͳ8FC"1*ͷ։ൃ
    #MB[PSɺ/&5."6*#MB[PS
    %PUOFUίϚϯυΛ࢖ͬͨίϯςφΠϝʔδͷൃߦ

    View full-size slide

  7. /&5ͱ͸
    ༷ʑͳछྨͷΞϓϦΛߏங͢ΔͨΊͷ
    ։ൃऀ༻ϓϥοτϑΥʔϜ
    ΦʔϓϯιʔεɺແྉɺϚϧν04ରԠ
    $ ' 7JTVBM#BTJDͰίʔσΟϯά
    https://dotnet.microsoft.com/ja-jp/learn/dotnet/what-is-dotnet

    View full-size slide

  8. /&5ΞϓϦ
    σεΫτοϓ ϞόΠϧ 8FC αʔόʔ Ϋϥ΢υ ػցֶश
    *P5 ίϯςφϚΠΫϩαʔϏε
    ήʔϜ

    View full-size slide

  9. $ ൃԻγʔγϟʔϓ
    ͱ͸
    ΦϒδΣΫτࢦ޲ϓϩάϥϛϯάݴޠ
    ΦʔϓϯιʔεɺϚϧν04ରԠ
    /&5ͷڞ௨ݴޠϥϯλΠϜ $-3
    ্Ͱ࣮ߦ
    https://learn.microsoft.com/ja-jp/dotnet/csharp/tour-of-csharp/
    C#
    ソースコード 中間⾔語(IL)
    リソース (ビット
    マップや⽂字列など)
    アセンブリ (dllファイル)
    共通⾔語ランタイム (CLR)
    ネイティブ
    コード
    JIT コンパイル
    コンパイル

    View full-size slide

  10. ϒϥ΢βʔͰ /&5ମݧ
    IUUQTEPUOFUNJDSPTPGUDPNKBKQMFBSOEPUOFUJOCSPXTFSUVUPSJBM

    View full-size slide

  11. /&5
    ถࠃ࣌ؒ
    ϦϦʔε
    ϓϩάϥϛϯάݴޠͷਐԽɺ$ɺ'
    Y "3. TY *#.;
    QQDMF *#.1PXFS

    ύϑΥʔϚϯεͷվળɺωΠςΟϒίϯύΠϧ
    /&5."6*ɺΫϩεϓϥοτϑΥʔϜରԠ6*
    "41/&5$PSFɺ࠷খݶͷ"1*ͷػೳڧԽͳͲ
    EPUOFUQVCMJTIίϚϯυ͔Βͷίϯςφൃߦ
    https://learn.microsoft.com/ja-jp/dotnet/core/whats-new/dotnet-7

    View full-size slide

  12. $ͷ৽ػೳ
    ະՃ޻ͷจࣈϦςϥϧ
    δΣωϦοΫܕ਺஋ԋࢉͷαϙʔτ
    ൚༻ଐੑ
    65'ͷจࣈྻϦςϥϧ
    จࣈྻิؒࣜͷվߦ
    Ϧετ ύλʔϯ
    ϑΝΠϧϩʔΧϧܕ
    ඞਢϝϯόʔ
    BVUPEFGBVMUߏ଄ମ
    TUSJOHఆ਺Ͱͷ 4QBODIBSͷύλʔϯ Ϛον
    ֦ு OBNFPGείʔϓ
    ਺஋ *OU1US
    SFGϑΟʔϧυͱ TDPQFESFG
    վળ͞Εͨɺϝιου άϧʔϓ͔ΒσϦήʔτ΁ͷม׵
    ܯࠂ΢Σʔϒ
    https://learn.microsoft.com/ja-jp/dotnet/csharp/whats-new/csharp-11
    $ͷྺ࢙

    View full-size slide

  13. $δΣωϦοΫܕ਺஋ԋࢉ
    // ίʔυྫ
    using System.Globalization;
    using System.Numerics;
    static T Add(T left, T right)
    where T : INumber
    {
    return left + right;
    }
    static T ParseInvariant(string s)
    where T : IParsable
    {
    return T.Parse(s, CultureInfo.InvariantCulture);
    }
    Console.WriteLine("Hello, World!");
    Console.Write("First number: ");
    var left = ParseInvariant(Console.ReadLine());
    Console.Write("Second number: ");
    var right = ParseInvariant(Console.ReadLine());
    Console.WriteLine($"Result: {Add(left, right)}");
    Console.WriteLine("hit any keys...");
    Console.ReadKey();
    https://learn.microsoft.com/ja-jp/dotnet/standard/generics/math
    ܕύϥϝʔλʔ͕਺஋ʹࣅͨܕ
    Where T : INumber
    ʹ੍ݶ͞ΕΔ
    ୯ҰͷδΣωϦοΫ ϝιουΛهड़Ͱ͖Δ
    static T Add(T left, T right)
    where T : INumber
    {
    return left + right;
    }
    ͦΕͧΕͷܕ͝ͱʹϝιουΛॻ͔ͳͯ͘ྑ͍ͷͰ
    ίʔυྔ͕ݮΔʢؒҧ͍ͷՄೳੑ΋ݮΔʣ
    $·Ͱ͸ɺͦΕͧΕͷܕʹԠͯ͡ɺԼهͷΑ͏ͳ
    ϝιουͷΦʔόʔϩʔυΛ௥Ճ͢Δඞཁ͕͋ͬͨ
    static int Add(int first, int second)
    static float Add(float first, float second)

    View full-size slide

  14. ύϑΥʔϚϯεͷվળ
    IUUQTEFWCMPHTNJDSPTPGUDPNEPUOFUQFSGPSNBODF@JNQSPWFNFOUT@JO@OFU@
    ࢀߟIUUQTMFBSONJDSPTPGUDPNFOVTFWFOUTEPUOFUDPOGEPUOFUDPOGLFZOPUFXFMDPNFUPEPUOFU

    View full-size slide

  15. /&5."6* .VMUJQMBUGPSN"QQ6*

    ΫϩεϓϥοτϑΥʔϜରԠΞϓϦ6*ϑϨʔϜϫʔΫ
    $ͱ9".-ͰΞϓϦͷ6*ͱಈ࡞Λهड़
    Φʔϓϯιʔε
    8JOEPXTҎ߱ 8JOEPXT
    NBD04Ҏ߱ NBD$BUBMZTU

    J04Ҏ߱ ΞϓϦͷϏϧυʹNBDσόΠεඞਢ

    "OESPJE "1*
    Ҏ߱
    ˞/&5."6*#MB[PSΞϓϦ͸ NBD04Ҏ߱ɺJ04Ҏ߱"OESPJE "1*
    Ҏ͕߱ඞཁ
    ϓϥοτϑΥʔϜݻ༗ͷίʔυΛݺͼग़͢͜ͱͰɺσόΠεͷػೳΛ׆༻Ͱ͖Δ͜ͱʹ஫໨
    QBSUJBMDMBTTΛར༻ͯ͠ɺϓϥοτϑΥʔϜݻ༗ͷϝιουΛ͏·͘෼཭
    https://github.com/dotnet/maui
    https://learn.microsoft.com/ja-jp/dotnet/maui/what-is-maui?view=net-maui-7.0

    View full-size slide

  16. 9".-ը໘࡞੒ɺ$ϩδοΫ

    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    x:Class="macmaui01.MainPage">

    Spacing="25"
    Padding="30,0"
    VerticalOptions="Center">
    Source="dotnet_bot.png"
    SemanticProperties.Description="Cute dot net bot waving hi!"
    HeightRequest="200"
    HorizontalOptions="Center" />
    Text="Hello, World!"
    SemanticProperties.HeadingLevel="Level1"
    FontSize="32"
    HorizontalOptions="Center" />
    Text="Welcome to .NET Multi-platform App UI"
    SemanticProperties.HeadingLevel="Level2"
    SemanticProperties.Description="Welcome to .NET MAUI App"
    FontSize="18"
    HorizontalOptions="Center" />
    x:Name="CounterBtn"
    Text="Click me"
    SemanticProperties.Hint="Counts the number of times you click"
    Clicked="OnCounterClicked"
    HorizontalOptions="Center" />



    // MainPage.xaml.cs (コードビハインド)
    namespace macmaui01;
    public partial class MainPage : ContentPage
    {
    int count = 0;
    public MainPage()
    {
    InitializeComponent();
    }
    // CounterBtnがクリックされた時のイベントハンドラー
    private void OnCounterClicked(object sender, EventArgs e)
    {
    count++;
    if (count == 1)
    CounterBtn.Text = $"Clicked {count} time";
    else
    CounterBtn.Text = $"Clicked {count} times";
    SemanticScreenReader.Announce(CounterBtn.Text);
    }
    }
    * XAML: eXtensible Application Markup Language

    View full-size slide

  17. .BD$BUBMZTUΞϓϦͷ։ൃ
    https://learn.microsoft.com/ja-jp/dotnet/maui/get-started/installation?view=net-maui-7.0&tabs=vsmac
    https://learn.microsoft.com/ja-jp/dotnet/maui/macos/cli?view=net-maui-7.0

    View full-size slide

  18. J04J1BE04޲͚ΞϓϦͷ։ൃ
    8JOEPXT্ͷ7JTVBM4UVEJPΛ࢖͏
    ৔߹ɺ8JOEPXTͱ.BDɺ୆͕ඞཁ
    .BDσόΠεଆʹ͸9DPEF͕ඞਢ
    .BD্Ͱ࣮ߦ͍ͯ͠ΔγϛϡϨʔλʹ
    8JOEPXT͔Β઀ଓ͠ɺΞϓϦͷ
    σόοά΋Մೳ
    8JOEPXT NBD04
    γϛϡϨʔλ
    7JTVBM
    4UVEJP

    View full-size slide

  19. J04J1BEγϛϡϨʔλͱ7JTVBM4UVEJP
    ࢀߟྫJ.BDσόΠεͰͷ։ൃ
    J.BD͔Β3FNPUF%FTLUPQܦ༝Ͱ
    8JOEPXT1$ʹ઀ଓ
    8JOEPXT1$্Ͱ7JTVBM4UVEJPΛ
    ࣮ߦ͠ɺ8JOEPXT͔ΒJ.BDʹ઀ଓ
    /&5."6*ΞϓϦΛ
    J04γϛϡϨʔλ্Ͱ࣮ߦ
    J04J1BEγϛϡϨʔλ͸
    J.BDଆͰ࣮ߦɺදࣔ

    View full-size slide

  20. .BDJ04ΞϓϦ։ൃ7JTVBM4UVEJPGPS.BD
    7JTVBM4UVEJPGPS.BDΛ࢖ͬͨ৔߹͸
    .BD୆ͰϏϧυɺσόοάΛ࣮ߦ

    View full-size slide

  21. "OESPJEΤϛϡϨʔλͱ7JTVBM4UVEJP
    ࢀߟྫ
    "OESPJE%FWJDF.BOBHFSͰ
    1JYFMΤϛϡϨʔλΛߏ੒
    ϋʔυ΢ΣΞΞΫηϥϨʔγϣϯඞਢ
    8JOEPXT)ZQFSWJTPS1MBUGPSNΛ
    ༗ޮʹ͓ͯ͘͜͠ͱ
    )ZQFS7Λซ༻͠ͳ͍৔߹͸ɺ
    *OUFM".%ϓϩηοαΛ׆༻͢Δ
    ϞδϡʔϧΛΠϯετʔϧ

    https://learn.microsoft.com/ja-jp/dotnet/maui/android/emulator/hardware-acceleration?view=net-maui-7.0

    View full-size slide

  22. "OESPJEΞϓϦ։ൃɺ7JTVBM4UVEJPGPS.BD
    7JTVBM4UVEJPGPS.BDΛར༻ͯ͠
    "OESPJEΤϛϡϨʔλʔΛ࢖͍ɺ
    .BD୆ͰϏϧυɺσόοάΛ࣮ߦ
    "OESPJE%FWJDF.BOBHFSͰ
    1JYFMΤϛϡϨʔλΛߏ੒
    NBD04্ͷΤϛϡϨʔλʔߴ଎Խ

    View full-size slide

  23. .BQίϯτϩʔϧ
    https://learn.microsoft.com/ja-jp/dotnet/maui/user-interface/controls/map?view=net-maui-7.0

    View full-size slide

  24. "41/&5
    /&5ͱ $Λ࢖ͬͯ 8FCΞϓϦαʔϏεΛ
    ߏங͢ΔͨΊͷϑϨʔϜϫʔΫ
    ·ͣ͸ νϡʔτϦΞϧͰମݧ
    IUUQTEPUOFUNJDSPTPGUDPNKBKQMFBSOBTQOFUIFMMPXPSMEUVUPSJBMJOUSP
    https://dotnet.microsoft.com/ja-jp/apps/aspnet

    View full-size slide

  25. "41/&5$PSFͷ৽ػೳ
    https://learn.microsoft.com/ja-jp/aspnet/core/release-notes/aspnetcore-7.0?view=aspnetcore-7.0
    参考: https://learn.microsoft.com/en-us/events/dotnetconf-2022/dotnet-conf-2022-keynote-welcome-to-dotnet-7
    )551ͷ׬શαϙʔτ
    6%1ϙʔτɺ5-4Λ࢖ͬͨߴ଎௨৴ϓϩτίϧ
    H31$ )551Λ࢖ͬͨߴ଎ϦϞʔτϓϩγʔδϟʔίʔϧ

    +40/ίʔυม׵ʹΑΓH31$ͱ+40/8FC"1*Λཱ྆
    +40/8FC5PLFOͷ؅ཧ
    EPUOFUVTFSKXUT ίϚϯυ
    0QFO"1*αϙʔτ
    ͳͲɺͨ͘͞Μͷ৽ػೳ

    View full-size slide

  26. "41/&5$PSFͰ؆୯ͳ8FC"1*Λ࡞Δ
    // ۭͷASP.NET CoreϓϩδΣΫτΛ࡞ΓɺProgram.csʹԼهͷίʔυΛίϐʔ
    var builder = WebApplication.CreateBuilder(args);
    var app = builder.Build();
    app.MapGet("/", () => "Hello World!");
    app.MapGet("/net", () => "Hello .NET!");
    app.MapGet("/now", () => {
    var now = DateTime.Now;
    var currDate = now.ToLocalTime().ToLongDateString();
    var currTime = now.ToLocalTime().ToLongTimeString();
    return $"ࠓͷ೔෇͸{currDate}ɺ࣌ࠁ͸{currTime}Ͱ͢ɻ";
    });
    app.Run();

    View full-size slide

  27. 3B[PSߏจ
    8FCϖʔδ಺Ͱɺ!ه߸Λ࢖͍ɺ
    $ͷίʔυ΍ΦϒδΣΫτΛ࣮ߦ࣌ʹධՁ͠
    ݁ՌΛ)5.-ϖʔδʹग़ྗ͢Δํ๏
    Q-BTUXFFLUIJTUJNF! %BUF5JNF/PX 5JNF4QBO'SPN%BZT

    Q
    !\
    WBSKPFOFX1FSTPO z+PF

    ^
    Q"HF! KPF"HF
    Q
    https://learn.microsoft.com/ja-jp/aspnet/core/mvc/views/razor?view=aspnetcore-6.0

    View full-size slide

  28. #MB[PSɺ$Λ࢖༻ͨ͠ର࿩ܕ8FC6*
    https://dotnet.microsoft.com/ja-jp/apps/aspnet/web-apps/blazor
    Blazor Server を利⽤すると
    ・サーバー側で仮想DOMを作成
    ・画⾯の変更はWebSocketで通信
    Blazorチュートリアル: https://dotnet.microsoft.com/ja-jp/learn/aspnet/blazor-tutorial/intro
    CLIによるチュートリアル (Windows): https://dotnet.microsoft.com/ja-jp/learn/aspnet/blazor-cli-tutorial/intro

    View full-size slide

  29. 3B[PSߏจʹΑΔ)5.-ͱ$ͷࠞࡏ
    !QBHFGFUDIEBUB
    1BHF5JUMF8FBUIFSGPSFDBTU1BHF5JUMF
    !VTJOHCT%BUB
    !JOKFDU8FBUIFS'PSFDBTU4FSWJDF 'PSFDBTU4FSWJDF
    I8FBUIFSGPSFDBTUI
    Q5IJTDPNQPOFOUEFNPOTUSBUFTGFUDIJOHEBUBGSPNBTFSWJDFQ
    !JG GPSFDBTUTOVMM

    \
    QFN-PBEJOHFNQ
    ^
    FMTF
    \
    UBCMFDMBTTUBCMF
    UIFBE
    US
    UI%BUFUI
    UI5FNQ $
    UI
    UI5FNQ '
    UI
    UI4VNNBSZUI
    US
    UIFBE
    UCPEZ
    !GPSFBDI WBSGPSFDBTUJOGPSFDBTUT

    \
    US
    UE!GPSFDBTU%BUF5P4IPSU%BUF4USJOH
    UE
    UE!GPSFDBTU5FNQFSBUVSF$UE
    UE!GPSFDBTU5FNQFSBUVSF'UE
    UE!GPSFDBTU4VNNBSZUE
    US
    ^
    UCPEZ
    UBCMF
    ^
    !DPEF\
    QSJWBUF8FBUIFS'PSFDBTU<> GPSFDBTUT
    QSPUFDUFEPWFSSJEFBTZOD5BTL0O*OJUJBMJ[FE"TZOD

    \
    GPSFDBTUTBXBJU'PSFDBTU4FSWJDF(FU'PSFDBTU"TZOD %BUF5JNF/PX

    ^
    ^

    View full-size slide

  30. /&5."6*#MB[PS
    #MB[PSͷٕज़ͱ#MB[PS8FC7JFXͰ6*Λ࡞Γͭͭɺ
    σόΠεͷػೳΛ׆༻͢ΔϋΠϒϦουΞϓϦ։ൃ

    View full-size slide

  31. ίϯςφ࡞੒ɺల։ɺࣗಈԽΛҙࣝ͢Δ
    ࠷৽ͷιʔείʔυΛར༻ͯ͠
    ϏϧυɺίϯςφΠϝʔδ࡞੒ɺΞϓϦͷల։
    ιʔείʔυ
    ϦϙδτϦ
    ΞϓϦͷ
    Ϗϧυ
    ίϯςφ
    Πϝʔδͷ
    ࡞੒
    ίϯςφ
    Πϝʔδͷ
    ൃߦ
    Πϝʔδ͔Β
    ίϯςφͷ
    ࣮ߦ
    EPUOFUQVCMJTIU1VCMJTI$POUBJOFS

    View full-size slide

  32. /&5ΞϓϦͷίϯςφԽ
    /&5ΞϓϦΛ࡞੒͢Δ
    EPUOFUBEEQBDLBHF.JDSPTPGU/&5#VJME$POUBJOFST
    Λ࣮ߦ͢Δ
    ֦ுࢠ DTQSPK ϑΝΠϧΛΤσΟλͰ։͖ɺ
    1SPQFSUZ(SPVQཁૉ಺ʹ
    $POUBJOFS*NBHF/BNFίϯςφΠϝʔδ໊$POUBJOFS*NBHF/BNF
    $POUBJOFS*NBHF5BHίϯςφΠϝʔδλά໊$POUBJOFS*NBHF5BH
    Λࢦఆ
    ྫ$POUBJOFS*NBHF/BNFEPUOFUXPSLFSJNBHF$POUBJOFS*NBHF/BNF
    $POUBJOFS*NBHF5BHBMQIB$POUBJOFS*NBHF5BH
    $POUBJOFS*NBHF5BHTBMQIBMBUFTU$POUBJOFS*NBHF5BHT
    EPUOFUQVCMJTIίϚϯυʹ U1VCMJTI$POUBJOFS Λࢦఆ͢Δ
    EPUOFUQVCMJTIPT MJOVY BSDIYU1VCMJTI$POUBJOFS D3FMFBTF
    ˞ ϩʔΧϧͷ%PDLFSϨδετϦʹൃߦ
    https://learn.microsoft.com/ja-jp/dotnet/core/docker/publish-as-container

    View full-size slide

  33. ハイブリッド
    クラウド 環境
    /&5Λ࢖ͬͨΞϓϦͷ࿈ܞ
    .NET MAUI クライアントアプリ開発
    σεΫτοϓ
    ϞόΠϧ
    End Point1
    JSON REST
    ASP.NET Core
    アプリ開発
    End Point2
    gRPC
    マイクロサービス開発
    End Point3
    SignalR
    Windows 10, Windows 11
    macOS
    iOS, iPadOS
    Android
    Windows Server/Linux + Container Platform

    View full-size slide

  34. ·ͱΊ
    /&5ɺύϑΥʔϚϯε͕େ෯ʹվળ͞Εͨ
    ৽͍͠/&5
    $BMMUP"DUJPO
    /&5ͷμ΢ϯϩʔυͱΠϯετʔϧ
    IUUQTEPUOFUNJDSPTPGUDPNKBKQEPXOMPBE
    /&5."6* "41/&5$PSFͷΞϓϦ࡞੒
    "41/&5$PSFΞϓϦͷίϯςφΠϝʔδ࡞੒

    View full-size slide

  35. ワークショップ、セッション、および資料は、IBMまたはセッション発表者によって準備され、それぞれ独⾃の⾒解を反映したものです。それらは情報
    提供の⽬的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助⾔を意図したものではなく、またそのような結果を⽣むも
    のでもありません。本講演資料に含まれている情報については、完全性と正確性を期するよう努⼒しましたが、「現状のまま」提供され、明⽰または暗
    ⽰にかかわらずいかなる保証も伴わないものとします。本講演資料またはその他の資料の使⽤によって、あるいはその他の関連によって、いかなる損害
    が⽣じた場合も、IBMは責任を負わないものとします。 本講演資料に含まれている内容は、IBMまたはそのサプライヤーやライセンス交付者からいかな
    る保証または表明を引きだすことを意図したものでも、IBMソフトウェアの使⽤を規定する適⽤ライセンス契約の条項を変更することを意図したもので
    もなく、またそのような結果を⽣むものでもありません。
    本講演資料でIBM製品、プログラム、またはサービスに⾔及していても、IBMが営業活動を⾏っているすべての国でそれらが使⽤可能であることを暗⽰
    するものではありません。本講演資料で⾔及している製品リリース⽇付や製品機能は、市場機会またはその他の要因に基づいてIBM独⾃の決定権をもっ
    ていつでも変更できるものとし、いかなる⽅法においても将来の製品または機能が使⽤可能になると確約することを意図したものではありません。本講
    演資料に含まれている内容は、参加者が開始する活動によって特定の販売、売上⾼の向上、またはその他の結果が⽣じると述べる、または暗⽰すること
    を意図したものでも、またそのような結果を⽣むものでもありません。 パフォーマンスは、管理された環境において標準的なIBMベンチマークを使⽤し
    た測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、ユーザーのジョブ・ストリームにおけるマルチプログラ
    ミングの量、⼊出⼒構成、ストレージ構成、および処理されるワークロードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、
    個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません。
    記述されているすべてのお客様事例は、それらのお客様がどのようにIBM製品を使⽤したか、またそれらのお客様が達成した結果の実例として⽰された
    ものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があります。
    IBM、IBM ロゴ、ibm.com、IBM Cloud、IBM Cloud Paksは、 世界の多くの国で登録されたInternational Business Machines Corporationの商標です。他
    の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、
    www.ibm.com/legal/copytrade.shtmlをご覧ください。
    Microsoft, Windows, Windows Server, .NET Framework, .NET, .NET Coreは、Microsoft Corporationの商標または登録商標です。

    View full-size slide