Mac용 Visual Studio를 설치해 보았습니다.
덧붙여서, 앱 개발은, 취미로의 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)
네이티브 코드
되어 있는 것 같다. 잘못되었을 수 있습니다.
Reference
이 문제에 관하여(Mac용 Visual Studio를 설치해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/taikikun/items/1de2ce8e2216e92ab206텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)