.NET MAUI: 두 판 사이의 차이
편집 요약 없음 |
편집 요약 없음 |
||
2번째 줄: | 2번째 줄: | ||
크로스플랫폼 애플리케이션 개발 도구. [[안드로이드]]와 [[iOS]], [[윈도우 모바일]]을 지원하므로 모바일 개발도구로 널리 알려져 있지만 윈도우 RT 환경 및 실버라이트도 지원하기 때문에 데스크톱으로까지 확장될 수 있다. 하지만 모바일용, 특히 [[안드로이드]]와 [[iOS]] 크로스플랫폼 개발을 위해 쓰는 경우가 압도적으로 많으므로 다른 건 무시해도 좋을 정도다. [[.NET]] 프레임워크를 [[윈도우]] 이외의 운영체제에서 돌리는 모노 프로젝트에서 파생된 것으로, 개발 언어는 [[C#]]이다. [[윈도우 모바일]]이야 [[C#]]을 쓰지만 [[안드로이드]]는 [[자바]], [[애플]]은 Objective-C → [[Swift]] 언어를 사용하고 있는데, 자마린은 각 운영체제별 API를 몽땅 [[C#]]으로 구현해 놓았다. 즉, [[C#]] 하나만 쓰면 두 운영체제 및 [[윈도우 모바일]]을 한 가지 언어로 개발할 수 있는 것. <ref>그런데 2016년부터 [[오라클]]과 [[자바]] 관련 소송에 지친 [[구글]]이 [[자바]] 대신 [[Swift]]로 갈 지도 모른다는 얘기가 돌고 있다. 그러면 Swift 하나로 [[안드로이드]]와 [[iOS]]를 다 개발할 수 있게 되는 셈. 실제 개발 과정은 많이 다르겠지만 비즈니스 로직만 공유할 수 있어도 그게 어딘데.</ref> | 크로스플랫폼 애플리케이션 개발 도구. [[안드로이드]]와 [[iOS]], [[윈도우 모바일]]을 지원하므로 모바일 개발도구로 널리 알려져 있지만 윈도우 RT 환경 및 실버라이트도 지원하기 때문에 데스크톱으로까지 확장될 수 있다. 하지만 모바일용, 특히 [[안드로이드]]와 [[iOS]] 크로스플랫폼 개발을 위해 쓰는 경우가 압도적으로 많으므로 다른 건 무시해도 좋을 정도다. [[.NET]] 프레임워크를 [[윈도우]] 이외의 운영체제에서 돌리는 모노 프로젝트에서 파생된 것으로, 개발 언어는 [[C#]]이다. [[윈도우 모바일]]이야 [[C#]]을 쓰지만 [[안드로이드]]는 [[자바]], [[애플]]은 Objective-C → [[Swift]] 언어를 사용하고 있는데, 자마린은 각 운영체제별 API를 몽땅 [[C#]]으로 구현해 놓았다. 즉, [[C#]] 하나만 쓰면 두 운영체제 및 [[윈도우 모바일]]을 한 가지 언어로 개발할 수 있는 것. <ref>그런데 2016년부터 [[오라클]]과 [[자바]] 관련 소송에 지친 [[구글]]이 [[자바]] 대신 [[Swift]]로 갈 지도 모른다는 얘기가 돌고 있다. 그러면 Swift 하나로 [[안드로이드]]와 [[iOS]]를 다 개발할 수 있게 되는 셈. 실제 개발 과정은 많이 다르겠지만 비즈니스 로직만 공유할 수 있어도 그게 어딘데.</ref> | ||
과거에는 유료였지만 [[MS]]가 인수하고 무료로 풀어버렸다. [[비주얼 스튜디오]] 커뮤니티 에디션에 자마린을 사용하면 완전 공짜. 다만 [[윈도우]]는 [[비주얼 스튜디오]], [[맥]]은 [[자마린 스튜디오]]로 개발환경이 거의 고정되어 있다. 하지만 [[비주얼 스튜디오]]가 워낙에 좋은지라 무료로 쓸 수 있는데 딴 걸 굳이 찾을 필요는... | |||
==특징== | |||
대부분의 크로스플랫폼 개발 도구들이 [[자바스크립트]]<ref>요즘은 [[타입스크립트]]도 많이 사용한다. [[Angular 2]]가 이걸 채용한 게 컸다. 그런데 [[타입스크립트]]는 [[MS]]가 만든 거다.</ref>를 사용하고 있는 반면, 자마린은 [[C#]]을 사용한다. | |||
==개발 과정== | |||
처음에 프로젝트를 생성할 때 두 가지 옵션 중 하나를 선택해야 한다. | 처음에 프로젝트를 생성할 때 두 가지 옵션 중 하나를 선택해야 한다. | ||
7번째 줄: | 15번째 줄: | ||
* 포터블 클래스 라이브러리 (Portable Class Library, PCL) : 공통되는 코드들이 DLL 형태로 만들어지고 이 라이브러리를 각 운영체제별 코드가 불러다 쓰는 구조다. | * 포터블 클래스 라이브러리 (Portable Class Library, PCL) : 공통되는 코드들이 DLL 형태로 만들어지고 이 라이브러리를 각 운영체제별 코드가 불러다 쓰는 구조다. | ||
* 공유 자산 프로젝트 (Shared Asset Project, SAP) : DLL을 따로 만들지 않고 각 운영체제별 실행파일 안에 같이 들어간다. | * 공유 자산 프로젝트 (Shared Asset Project, SAP) : DLL을 따로 만들지 않고 각 운영체제별 실행파일 안에 같이 들어간다. | ||
[[안드로이드]]용 앱은 [[윈도우]] 환경에서 에뮬레이터도 돌릴 수 있고 개발이 원활하지만 [[iOS]]용 앱은 윈도우 환경에서는 실행 파일을 만들 수 없어서 [[맥]]이 필요하고 Xcode도 설치해야 한다. 만약 주 개발 환경이 [[윈도우]]라면 [[윈도우]]와 [[맥]]을 네트워크로 연결하고 [[맥]]에서 빌드를 진행한다. [[비주얼 스튜디오]] 엔터프라이즈 에디션을 쓰면 [[윈도우]] 환경에서도 [[iOS]] 에뮬레이터를 돌릴 수 있다. <del>문제는 엔터프라이즈 에디션 가격이 [[맥북]]보다 비싸다는 것. 그냥 [[맥북]] 사자.</del> | |||
{{각주}} | {{각주}} |
2017년 1월 21일 (토) 19:55 판
Xamarin.
크로스플랫폼 애플리케이션 개발 도구. 안드로이드와 iOS, 윈도우 모바일을 지원하므로 모바일 개발도구로 널리 알려져 있지만 윈도우 RT 환경 및 실버라이트도 지원하기 때문에 데스크톱으로까지 확장될 수 있다. 하지만 모바일용, 특히 안드로이드와 iOS 크로스플랫폼 개발을 위해 쓰는 경우가 압도적으로 많으므로 다른 건 무시해도 좋을 정도다. .NET 프레임워크를 윈도우 이외의 운영체제에서 돌리는 모노 프로젝트에서 파생된 것으로, 개발 언어는 C#이다. 윈도우 모바일이야 C#을 쓰지만 안드로이드는 자바, 애플은 Objective-C → Swift 언어를 사용하고 있는데, 자마린은 각 운영체제별 API를 몽땅 C#으로 구현해 놓았다. 즉, C# 하나만 쓰면 두 운영체제 및 윈도우 모바일을 한 가지 언어로 개발할 수 있는 것. [1]
과거에는 유료였지만 MS가 인수하고 무료로 풀어버렸다. 비주얼 스튜디오 커뮤니티 에디션에 자마린을 사용하면 완전 공짜. 다만 윈도우는 비주얼 스튜디오, 맥은 자마린 스튜디오로 개발환경이 거의 고정되어 있다. 하지만 비주얼 스튜디오가 워낙에 좋은지라 무료로 쓸 수 있는데 딴 걸 굳이 찾을 필요는...
특징
대부분의 크로스플랫폼 개발 도구들이 자바스크립트[2]를 사용하고 있는 반면, 자마린은 C#을 사용한다.
개발 과정
처음에 프로젝트를 생성할 때 두 가지 옵션 중 하나를 선택해야 한다.
- 포터블 클래스 라이브러리 (Portable Class Library, PCL) : 공통되는 코드들이 DLL 형태로 만들어지고 이 라이브러리를 각 운영체제별 코드가 불러다 쓰는 구조다.
- 공유 자산 프로젝트 (Shared Asset Project, SAP) : DLL을 따로 만들지 않고 각 운영체제별 실행파일 안에 같이 들어간다.
안드로이드용 앱은 윈도우 환경에서 에뮬레이터도 돌릴 수 있고 개발이 원활하지만 iOS용 앱은 윈도우 환경에서는 실행 파일을 만들 수 없어서 맥이 필요하고 Xcode도 설치해야 한다. 만약 주 개발 환경이 윈도우라면 윈도우와 맥을 네트워크로 연결하고 맥에서 빌드를 진행한다. 비주얼 스튜디오 엔터프라이즈 에디션을 쓰면 윈도우 환경에서도 iOS 에뮬레이터를 돌릴 수 있다. 문제는 엔터프라이즈 에디션 가격이 맥북보다 비싸다는 것. 그냥 맥북 사자.