728x90
윈도폰7은 기존 마이크로소프트의 윈도우모바일 계열 운영체제와 다르게 닷넷 기반의 C# 만으로 개발이 가능하다고 알려져 있습니다. Managed 코드로만 개발을 가능하게 함으로써 애플리케이션과 운영체제의 안정성을 더 높히겠다는 마이크로소프트의 의지가 반영된 결과입니다. 한동안 Native C 를 지원하지 않음으로서 생기는 단점들에 대하여 갑론을박이 많았습니다만 단말 런칭 이후에는 이런 이야기가 많이 줄어든 분위기입니다.

마이크로소프트는 여기에 더하여 개발자 저변을 확대하기 위하여 비주얼베이직으로도 개발이 가능한 개발도구 추가 기능을 공개했습니다. 기존에 설치한 비주얼스튜디오 2010 윈도폰 버전이나 윈도폰7 개발도구가 추가된 비주얼스튜디오에 설치 가능하며 아직 정식 버전이 아닌 RTW 임을 감안하여 테스트 해볼것을 권장하고 있습니다. 비주얼 베이직은 은근히 개발자 층이 넓다는 것이 이번 개발도구 런칭의 이유가 아닐까 싶습니다.


개발도구를 다운로드 받는 MSDN 경로는 위의 이미지에 연결해 두었습니다. 이로써 윈도폰7을 개발할 수 있는 닷넷 기반의 Managed 언어는 C# 과 VB 가 된 것 같습니다. 다만 현재까지 XNA 기반의 게임 개발에는 사용할 수 없고 실버라이트를 기반으로하는 일반 어플리케이션 개발로 한정된다고 합니다. 

- NoPD -
728x90
728x90
윈도우폰7에는 기본적으로 빌트인 된 리소스 딕셔너리가 있습니다.
정확히는 윈도우폰7에 탑재된 실버라이트에 내장된 것이라 보는게 맞겠네요.

어플리케이션에 사용되는 여러가지 컨트롤들은 XAML 로 디자인 되는데
다양한 속성값을 이용하여 세세한 컨트롤을 하는 것도 물론 가능하지만
사용자에게 일관적인 스타일을 제공하기 위해 내장 리소스를 사용하는 것은 좋은 방법입니다.

경로 : {Program Files}\Microsoft SDKs\Windows Phone\v7.0\Design\ThemeResources.xaml
 
SDK 가 설치된 경로에서 위의 파일을 찾아서 열어보면
실제 어플리케이션의 화면을 디자인하는 XAML 파일의 컨트롤이 쓸 수 있는
여러가지 내장 스타일들을 확인할 수 있습니다.

<Color x:Key="PhoneForegroundColor">#FFFFFFFF</Color>
<Color x:Key="PhoneBackgroundColor">#FF000000</Color>

<Color x:Key="PhoneContrastForegroundColor">#FF000000</Color>
<Color x:Key="PhoneContrastBackgroundColor">#FFFFFFFF</Color>

...

<!-- Font names -->
<FontFamily x:Key="PhoneFontFamilyNormal">Segoe WP</FontFamily>
<FontFamily x:Key="PhoneFontFamilyLight">Segoe WP Light</FontFamily>
<FontFamily x:Key="PhoneFontFamilySemiLight">Segoe WP SemiLight</FontFamily>
<FontFamily x:Key="PhoneFontFamilySemiBold">Segoe WP Semibold</FontFamily>

미리 사용 가능한 스타일 요소들을 체크해두면 많은 도움이 될 것 같습니다.
참고로 StaticResource 는 각 컨트롤에 아래와 같이 스타일을 지정하면 됩니다.

Style="{StaticResource PhoneTextTitleStyle}"

- NoPD -
728x90
728x90
오랜만에 포스팅을 올립니다 :-)
마이크로소프트가 제공하는 윈도우폰7 트레이닝 세션을 보기 시작했습니다.
시작하면서 세션 발표자들께서 좋은 링크들을 많이 공유해 주시네요

아무리 윈도우폰7이 실버라이트와 블렌드를 잘 써야한다고 해도
그 기저에는 C# 이 있다는 것을 부인할 사람은 아무도 없습니다.
본격적으로 윈도우폰7 개발을 공부하기 전에 C# 을 정리해보는 것은
상당히 의미있는 시간이 될 것으로 생각되네요!


위 웹사이트에서 C# Yellow Book 이라는 컨텐츠를 무료 배포하고 있습니다.
잘 아시는 분들도 Remind 하시는 차원에서 한번쯤 보시면 좋을 것 같네요!
귀차니즘을 극복하시려면 아래 링크로 책을 받으시면 됩니다 :-)


- NoPD -
728x90
728x90
비지니스 로직에서 데이터베이스 관련 구문을 사용하지 않기 위해 종종 Stored Procedure 로 많은 로직을 옮기곤 합니다. View 와 Logic 을 분리한다는 차원 이외에도 보안적인 측면이나 불필요한 에러를 막기 위한 것 이외에도 Strongly Typed 프로그래밍의 명확한 적용을 위해서라도 유용한 방법입니다.

SP 를 사용하는 몇 안되는 단점 중 하나가 에러처리 부분이 아닐까 싶습니다. NoPD 군은 그동안 SQL 구문 날코딩을 사랑하다 최근 SP 로 로직을 모두 옮기어 조그만 프로젝트를 하나 하고 있는데, 여기저기 검색하다가 정갈하게 정리된 내용을 발견해서 공유할까 합니다.

   SELECT @err = @@ERROR, @row = @@ROWCOUNT
   IF @err != 0 OR @row != 1
   BEGIN
    SET @result = 'sp_commitContent|컨텐츠 수정에 문제가 있습니다. 관리자를 컨택해 주세요.'
    GOTO ERROR
   END
   
   ERROR:
    RAISERROR(@result, 11, 1)
    RETURN
@@ERROR 값과 @@ROWCOUNT 값을 같이 이용하여 쿼리가 정상적으로 수행 되었는지를 확인하는 방법이 바로 그것입니다. 이미 다들 아시는 내용일지 모르겠으나 DB 를 날쿼리 중심으로 쓰던 NoPD 군에게는 새로운 SQL 구문이 아닐 수 없습니다! ^^

- NoPD -
728x90

+ Recent posts