Microsoft MVP성태의 닷넷 이야기
자마린이 궁금... [링크 복사], [링크+제목 복사]
조회: 20686
글쓴 사람
유창우
홈페이지
첨부 파일
 

안녕하세요.

먼저 명저
 
"시작하세요! C# 프로그래밍: 기본 문법부터 실전 예제까지"는 구매신청 해놓은 상태입니다.

c#에 관하여 서칭 하다보니 명저를 만나게 됩니다..^^

검색을 통하여 살펴보니 자마린이라 도구가 매력적이던데요....

c#과 자마린을 이용하여 멀티플랫폼 앱이 생산 되는것 같은데요.

아직 국내에 c#과 자마린을 이용한 사례가 별로 없는것 같은데요

자마린에 대한 견해가 어떠신시 궁금합니다.

새로 학습을 해야 한다면

안드로이드/ios 네이티브 앱 과 c# and 자마린 둘중 어느것이 효율적일까요?










[최초 등록일: ]
[최종 수정일: 11/17/2013]


비밀번호

댓글 작성자
 



2013-11-17 05시06분
^^ 넵. 감사합니다. 자마린으로 저도 아직 실질적인 상품 수준의 프로젝트는 안해봤습니다. 그래서 뭐라고 단정지을 수는 없는데요.

자마린이 멀티플랫폼 앱을 생산하지만 다른 웹앱 방식의 멀티 플랫폼과는 다소 다른 면이 있습니다. 자마린은 단지 언어를 C#으로 해준다는 것이지, 방식은 그대로 해당 모바일폰의 환경을 그대로 따릅니다. 예를 들어, XAML방식의 윈도우폰, nib식의 iOS, xml activity 방식의 안드로이드는 그대로 공부하셔야 합니다.

재미있는 점은, ^^ 자바로 쓰여진 안드로이드 책을 보면서 / Objective-C로 쓰여진 iOS책을 보면서 그대로 C#에 매핑시켜 공부할 수 있습니다. 이 말의 의미는, 자마린으로 만들어진 앱을 각각의 Java/Objective-C 언어로 포팅하는 것도 그리 어려운 것은 아니라는 이야기가 됩니다.

따라서, 자마린을 이렇게 생각하시면 편할 것 같습니다. 닷넷에서 VB.NET과 C#을 지원하듯이 안드로이드/iOS에서 각각의 언어와 함께 C#을 지원하는 것이라고. 단지 유료일뿐!

단순히 학습을 하는 거라면 자마린을 자신있게 권장하고 싶습니다. (사실, 모바일 학습을 해도 해당 분야에서 일하지 않는 한 만들일이 거의 없는 것 같아서 어찌보면 세세하게 공부하는 것도 시간을 들이는 노력에 비해 얻는 것이 많진 않습니다.) 그러나, 업무용으로 쓰시는 거라면 실험적으로 프로젝트 하나를 진행해 보고 그 다음 전체적으로 도입하는 것이 맞을 것 같습니다. 어쨌든 크로스 플랫폼이라는 것이 원래의 네이티브 환경의 지원과 완전히 동일할 수는 없기 때문에. ^^

그리고 효율을 따진다면 안드로이드/iOS 모두 하실 거면 자마린이 나을 듯 싶고 특정 플랫폼 하나만 하신다면 그에 따른 네이티브로 가시는 것이 좋다고 봅니다.
정성태
2013-11-21 03시47분
[spowner] 안녕하세요. spowner라고 합니다. 저는 현재 Xamarin.Android로 프로젝트를 진행하고 있습니다. 여러 시행착오를 겪고 있고 Xamarin Studio라는 통합개발환경이 있어서 빠르고 편리합니다. 물론, 완벽하게 안정화되지는 않아 몇가지 불편한 점은 있습니다.
실행되는 앱도 잘 동작을 하고 C#의 async, await 를 이용해서 비동기 처리도 기존 Java로 짰을 때보다 깔끔하게 만들 수 있습니다. (저는 이걸 최대 장점이라고 생각해요)
한가지(혹은 두가지) 큰 단점은.. 배포본으로 apk를 만들었을 때 파일 사이즈가 크다는것. 저는 벌써 10M가 됐네요. 안드로이드용 프레임웤을 별도로 설치하도록 유도하는 것이 지원된다면 좋겠어요. 그리고 C#으로 안드로이드를 개발하는 개발자가 많지 않을것이기 떄문에 고객 설득하는것도 현재는 매우 어려운 편이에요. ^^
[guest]
2013-11-22 12시26분
"spowner"님, 저도 apk 파일 크기에 대해 ^^ 살짝 불만이긴 합니다. 프로젝트 옵션으로 "Link All Assemblies"라는 것이 있는데요. 이거 하면 배포본 크기가 훨씬 더 줄어듭니다. 문제는 그것이 엔터프라이즈 버전으로 구매한 경우에만 활성화된다는 점인데요. ^^ 비즈니스 버전보다 가격이 현격하게 차이나서 회사 차원에서 상용앱 만드는 것이 아니라면 부담스러운 수준입니다.
정성태
2013-11-29 08시18분
[유창우] 자마린 관련한 국내서적은 없는것 같고..
참고할만한 도서나 자료좀 추천 해주시면 감사하겠습니다 ^^

[guest]
2013-11-30 02시35분
글쎄요. 위의 답변에도 썼지만 자마린은 문법만 C#일뿐 해당 모바일 플랫폼을 그대로 따라가기 때문에 모바일 앱을 만들고 싶다면 그냥 iOS책이나 Android책을 사시면 됩니다. 단지 필요한 것이 자마린 개발환경 구성 정도인데, 그 부분은 자마린 홈페이지에서 아주 자세하게 매뉴얼로 공개되어 있습니다.

Introduction to Mobile Development
; http://docs.xamarin.com/guides/cross-platform/getting_started/introduction_to_mobile_development/
정성태
2014-01-05 12시42분
[땡초] Xamarin을 아용해 iOS 앱을 만들면
앱스토어에 못올리는 게 맞죠?
[guest]
2014-01-05 03시21분
@땡초 왜 못 올리죠? 앱개발자 등록을 하지 않아서 올려보진 않았지만 당연히 올라가는 것으로 알고 있습니다. 가령, 다음의 페이지에 보면 실제로 올라간 앱들에 대한 소개가 있습니다.

http://xamarin.com/apps
정성태
2014-01-08 06시53분
[Lyn] 앱스토어는 규정상 어떤종류의 인터프리터도 돌릴 수 없기 때문에 C# 코드를 LLVM 으로 다시 변경해서 빌드하는 통에 닷넷의 몇몇 기능에 제약은 있습니다.

예를들면 DeSerialize 해서 런타임에 객체를 생성할수 없다던가...
[guest]

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5932EK4/12/2024512다음 제네릭에서 널익셉션이 뜨는 이유를 알수있을까요? [1]
5931이대희4/2/2024851Windows 앱 SDK C# 템플릿의 용도가 무엇인지요? [1]
5930vict...2/22/20241729ef core, FromSqlRaw 맵핑 질문입니다. [4]
5929a2/17/20241806.Net 8 에서 디버거 변경 [1]
5928vict...2/5/20241958wpf에서 대량 데이터 보여주는 방법 추천 부탁드립니다. [1]
5926엄태영1/12/20241929잘못된 Task 사용으로 인한 데드락 관련 질문 입니다. [3]
5925Euni...12/22/20231865Visual Studio에서 nodejs 사용시 npm install -g @vue/cli 실행시 오류 [1]
5924Euni...12/21/20231935Visual Studio에서 nodejs 사용시 C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules\npm\bin\npm-cli.js" prefix -g 를 찾지 못하는 설치 오류 [2]
5923정두호12/4/20232391MSSQL 데이터 전송과 공유폴더의 데이터 전송 차이점 [1]
5922Heeg...10/27/20234602C++의 double pointer를 C#에서 구현하는 방법이 잘 안됩니다. [3]
5921한예지 donator10/3/20234400마샬링 정의 및 목적이 궁금합니다. [5]
5920한예지 donator10/3/20233216C#과 WIN32 API 관계 질문드립니다. [4]
5919이건우9/27/20232905WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/20232990동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/20233150Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/20233070비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/20232909.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/20232989지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/20235264[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/20233503Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/20233355Async 메서드와 try~catch [1]
5909guest4/22/20233744Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/20233609텅빈 원그리기 [5]
5907민성4/21/20233236안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/20233369Dispatcher 서비스 구현 질문 [1]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...