Windows Phone 72010.10.28 10:05

윈폰7으로 얼마나 쉽게 트위터 타임라인을 가져올수 있는지 예제를 만들어봤습니다.

Scott Gu 블로그를 참조 했습니다. 원문 : http://weblogs.asp.net/scottgu/archive/2010/03/18/building-a-windows-phone-7-twitter-application-using-silverlight.aspx

환경 설정은 이전 포스팅을 참고 하시기 바랍니다. : Windows Phone 7 Development with VB - Hello World

Visual Studio 2010 을 실행하고 새 프로젝트를 선택합니다.

프로젝트 템플릿에서 Windows Phone Application 을 선택 합니다. 프로젝트 명은 VBTwitter 라고 하였습니다.


StackPanel에 있는 텍스트를 보기 좋게 변경하고, Content Panel에 TextBlock, TextBox, Button 하나씩 두었습니다.
아랫쪽에는 트위터 타임라인을 가져오기 위한 ListBox 를 하나 두었구요.


XAML 에서는 컨트롤별 템플릿이 존재 합니다. 원하는 모양을 마음데로 바꿀수 있지만 우선 다음과 같이 입력 합니다.

이 상태에서 버튼을 더블클릭 하면 소스 편집창이 나타납니다.

이전 블로그 윈도우 폰의 어플리케이션 플랫폼에 대하여. 에 언급한 내용처럼 Silverlight 는 이벤트 드리븐 형태의 개발을 할수 있습니다. 지금처럼 컨트롤을 클릭했을때에 대한 상황에 대처하는 개발 방법을 이벤트 드리븐 이라고 합니다. ;)

자.. 생각해 보면 버튼을 클릭했을때 어떤 액션을 취해야 할까요?

통신이 가능한 어떤 클래스를 이용하여 트위터 특정 URL 에 접속해서 XML 을 받아오는것이죠? 요즘 대세는 JSON 이긴 합니다만, 그냥 XML 로 해 보겠습니다. JSON으로 하시려면 아래 나올 주소에 .xml 대신에 .json 으로 하시면 됩니다. :)

제가 개발한 오픈API도 마찬가지이죠.. 곧 오픈 될테니 기대하세요 ㅎㅎ 인크루트 인맥 Open API 입니다. ^^; 에고 숙쓰러워라...

버튼클릭 이벤트에 대한 코드를 다음처럼 합니다. 한줄한줄 주석을 달아놓았습니다.

보시면 DownloadStringAsync() 라는 메서드가 있습니다. 실버라이트에서 비동기 호출에서 자주 사용되는 메서드 입니다.
http://msdn.microsoft.com/ko-kr/library/ms144203(VS.95).aspx 문서를 보시면 더 도움이 되실듯 합니다.

앗!! 그런데 AddHandler 에 파란 밑줄이 그어져 있죠? 그건 twitter_DownloadStringCompleted 메서드가 생성 되지 않아서 입니다.  해당 메소드를 생성하기 전에 Linq 로 데이터 파싱할 예정이므로 참조 추가를 합니다.

메뉴-프로젝트-참조추가 하시고, 다음처럼 System.Xml.Linq 를 추가 합니다.


추가 하고, 해당 네임스페이스를 사용하려면 임포트 해 줘야 좋겠죠? 소스 제일상단 그러니까 Patial Public Class MainPage 보다 더 위에 Imports System.Xml.Linq 해 줍니다.

그럼 이번에는 이쁜 PONO(Plan Old .Net Object) 하나 만들어 봅시다. 제가 예전에는 VO(Value Object) 라고 언급했던.. 호칭이 뭐든 상관없지만 뭐.. MS Technical Article 에서는 대부분 PONO라 칭하여 저도 바꾸기로 했습니다. 귀가 얇아서... ㅎ


이 클래스는 새로운 클래스 파일에 작성해도 되고, 제일 아랫쪽에 작성해도 됩니다.
VS2010이 나오고 나서 Property 선언하기 편해져서 정말 좋습니다. C#에서 get; set;  하는것도 없고 그냥 이렇게 ㅎㅎ 예전에는 엄청 불편했습니다. 예전 포스팅  http://dotnetpower.tistory.com/48 에 언급한적이 있는데, 흠.. SyntaxHighlight 설정이 깨져서 화면이 이상하게 나오네요.. 조만간 잘 나오도록 고쳐놓겠습니다. ㅡㅡ;

그런 후에 twitter_DownloadStringCompleted 메서드를 만들어줍니다.

보통 C#을 많이 하시는데, VB는 문법적인 차이가 약간 있죠? :)

다 됐습니다. F5 를 쎄게 눌러서 실행해 봅시다. 아래와 같은 시작화면이 뜹니다. 가져오기 버튼을 누르면?



Wow~  어떠세요? 훌륭하지 않습니까?



윈폰만이 살길입니다. 윈폰을 합시다. ㅎㅎㅎ

행복한 개발자 되세요~ :)

twitter : http://twitter.com/dotnetpower
facebook : http://www.facebook.com/dotnetpower
인크루트인맥 : http://nugu.incruit.com/dotnetpower

저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower
Windows Phone 72010.10.27 09:14

윈도우폰의 기본 플랫폼은 크게 두가지로 나눌수 있습니다.
실버라이트 프레임웍에서 이벤트 드리븐 형태의 어플리케이션과 XNA 프레임웍에서의 loop-based 의 게임 개발 형태.

우선 알아 두셔야 하는건, 실버라이트로의 개발인 경우는 복잡한 UI를 표현하기 위해서 XNA 보다 많은 리소스를 사용하지만, XNA 보다 직관적이고 개발하기가 용이합니다. 또한, 디자이너에게 XAML 를 받아서 그대로 사용할수 있는 장점이 있습니다. XNA의 경우는 게임개발에 최적화된 프레임웍으로써 좀더 세세한 그래칙처리, 사운드 처리등을 지원합니다.

문제는 XNA로 게임을 개발하려 할때 기존의 Native Code 는 사용할수 없는점이 큰 단점입니다. 모두 Managed Code로 재 작성을 해야합니다.!!!

윈도우 폰은 단순한 모바일이 아닙니다. N-Screen 을 위한 배경이 깔려있습니다. 클라우드를 통한 데이터 Exchange 를 반드시 염두 해 두셔야 합니다.

위 사진에서 보는바와 같이 모든 사용자 정보를 동기화 하여 언제 어디서는 같은 서비스를 이용할수 있도록 설계가 되어있습니다.


아키텍처

윈도우폰 어플리케이션 플랫폼은 크게 네가지로 구분할수 있습니다.

1. Runtime - On "Screen" : 실버라이트와 XNA 프레임웍이 풍부한 RIA 를 가능케 합니다.
2. Tools : 기존에 사용하던 Visual Studio 와 같이 접근성이 용이한 도구로 쉽게 개발을 할수 있습니다.
3. Cloud Services : 윈도우애저, XBox Live, 알림, 지역 서비스등의 다양한 플랫폼을 이용하여 다양한 웹서비스 개발이 용이합니다.
4. Portal Services : 개발자는 마켓플레이스에 등록하고 릴리즈 하여 수익을 창출할수 있습니다. 이점은 애플의 정책과 비슷합니다.


윈도우폰 개발 라이프사이클


윈도우폰 어플리케이션을 개발 후 배포는 다음과 같은 방식으로 이루어 집니다.

어플리케이션을 개발하여 판매할 경우 개인개발자는 $99 를 지불하고 개발자 등록을 하여야 합니다.
조금 비싼감이 있지만 이러한 라이프사이클에 투입되는 인건비라 생각하시면 되겠지요.. ^^;

개인적인 생각은 두가지 방법으로 해서 첫째는 등록비가 있는것이고, 둘째는 등록비는 없고 수익 쉐어 하는것도 괜찮을것 같습니다. 생각보다 가난한 개발자가 많아서요 ^^

이 아티클에서 가장 중요한점은 처음 언급했던 클라우드 기반아래 N-Screen 정책 입니다.

어플리케이션을 설계할때 반드시 생각 하셔서 좋은 어플리케이션을 개발하시기 바랍니다.
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower
Windows Phone 72010.10.15 13:33

윈도우 폰 7 개발은 VB, C# 모두 가능합니다.

우선은 개발툴을 설치를 해야 합니다.
http://msdn.microsoft.com/ko-kr/ff380145.aspx

설치는 제 에일리언웨어 노트북(Core i7-720Q, 4G Ram) 기준으로 30분 걸렸습니다.

설치하면 기본적으로 C# 기준으로 되어 있습니다.

VB가 되도록 하려면 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a808a69d-6119-47b7-b858-262be5c49915&displaylang=en 에서 VB for Winphone 도구슬 설치하면 됩니다.

VS 2010 을 실행하고, 새 프로젝트에서 Windows Phone Application 템플릿을 선택하고 확인을 누릅니다.

저는 MainPage.xaml 을 다음처럼 변경 하였습니다.

버튼 하나 놓고, Click Me 라고 변경하고, TextBlock 를 넣고 FontSize를 30 으로 줬습니다.

버튼을 더블클릭 하면 이벤트 처리 메서드가 생성되고, 소스 코드 화면으로 이동합니다.


이때 다음처럼. TextBlock1.Text = "Hello World~" 라고 넣어줍니다.

그리곤.. F5 를 과감하게 누릅니다.
다음처럼 Windows Phone Emulator 가 실행되면서



버튼을 클릭하면 다음처럼 코딩한 내용이 나오게 됩니다.



이처럼 비베따위로도 윈폰 쉽게 개발 가능합니다.

하나씩 해 보면서 계속 포스팅 하도록 하겠습니다.

제가 포스팅 하는 모든 내용은 비베따위를(http://www.mhvb.net) 에도 동시에 포스팅이 됩니다. :)




저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바