자마린: 두 판 사이의 차이

내위키
편집 요약 없음
편집 요약 없음
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 에뮬레이터를 돌릴 수 있다. 문제는 엔터프라이즈 에디션 가격이 맥북보다 비싸다는 것. 그냥 맥북 사자.

각주

  1. 그런데 2016년부터 오라클자바 관련 소송에 지친 구글자바 대신 Swift로 갈 지도 모른다는 얘기가 돌고 있다. 그러면 Swift 하나로 안드로이드iOS를 다 개발할 수 있게 되는 셈. 실제 개발 과정은 많이 다르겠지만 비즈니스 로직만 공유할 수 있어도 그게 어딘데.
  2. 요즘은 타입스크립트도 많이 사용한다. Angular 2가 이걸 채용한 게 컸다. 그런데 타입스크립트MS가 만든 거다.