Mac용 Visual Studio를 설치해 보았습니다.

요 전날 Visual Studio For Mac이 출시되었으므로 사용해 보았습니다.
덧붙여서, 앱 개발은, 취미로의 Unity 개발 이외 한 적이 없지만, 네이티브 앱의 로직 부분을 CSHARP에 의한 통일 코드로 만들 수 있으므로, 간단한 어플리케이션을 구현할 때까지 해 보았다.

설치



다음 주소에서 설치할 수 있습니다.
htps //w w.ゔぃすあ lsつぢお。 코 m / 자 / vs /

기본적으로 화면의 지시대로 설치할 수 있었습니다.

프로젝트 만들기





멀티 플랫폼 → 블랭크 폼 앱 선택
지침에 따라 프로젝트 작성을 완료합니다.

뷰를 XAML로 작성



뷰를 변경할 때 xaml 파일을 변경합니다.

이번에는 helloworldsPage.xaml을 편집합니다.

helloworldsPage.xaml
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:helloworlds" x:Class="helloworlds.helloworldsPage">
    <StackLayout HorizontalOptions="Center" VerticalOptions = "Center">
        <Label Text="text" x:Name="label"></Label>
        <Slider x:Name="slider"></Slider>
    </StackLayout>
</ContentPage>


여기서 x:Name은 코드의 이름입니다.
사실,이 xaml에서 코드가 만들어지고 그 코드에서 선언됩니다.

코드 부분 작성



위에서 텍스트 부분에 슬라이더 값을 표시합니다.
슬라이더 항목에 valueChanged="handle_ValueChanged"
추가하면 자동으로 코드가 생성됩니다.
거기를 이렇게 편집합니다.

helloworldsPage.xaml.cs
using Xamarin.Forms;

namespace helloworlds
{
    public partial class helloworldsPage : ContentPage
    {
        void Handle_ValueChanged(object sender, Xamarin.Forms.ValueChangedEventArgs e)
        {
            label.Text = string.Format("Hello {0:F2]", e.NewValue);
        }
        public helloworldsPage()
        {
                InitializeComponent();
                label.Text = string.Format("Hello {0:F2}", slider.Value);
        }
    }
}

컴파일 및 실행



툴바의 다음 부분에서 대상 장치를 선택하고 시작할 수 있습니다.
helloworlds.Droid를 iOS로 전환하면 iOS 디버깅도 가능합니다.


재생 버튼을 누르면 컴파일이 시작되고 시뮬레이터가 시작됩니다.

iOS, 안드로이드 모두에서 동일한 응용 프로그램이 작동하는지 확인할 수 있습니다!


덤 크로스 플랫폼 아키텍처



어떻게 CSharp에서 두 네이티브 환경에서 움직이는 프로그램을 만들고 있는지 궁금해서 조사해 보았다.

Android와 iOS에서는 다른 접근 방식으로 변경하고 있었다.

안드로이드



CSharp 코드

IL(중간 코드)+Mono Runtime
↓ JIT(Just In Time) 컴파일
네이티브 코드

iOS



한편, iOS에서는 JIT가 허용되지 않기 때문에
CSharp 코드

IL(중간 코드)
↓AOT(Ahead of time)
네이티브 코드

되어 있는 것 같다. 잘못되었을 수 있습니다.

좋은 웹페이지 즐겨찾기