기본 콘텐츠로 건너뛰기

9월 12일 마소 행사 메모

앞에의 1~2 챕터

윈도우 10앱 개발

윈도우 10은 확장을 위해 제작

PC 에만 집중해서는 마소가 살아남기 힘들다고 판단

앱 개발 플렛폼이 통합됨

소스코드 상의 통합이아닌 바이너리 단위에서의 통합이이루어짐(그래서 디자이스는 여러개지만 마켓은 하나뿐)

UWP가 여러 부분에서 더편함 기존에 잇던것들도 실행가능

다이렉트 X의 경우 C#에서는 개발이 불가능하고 C++에서 가능하다

JavaScript 로 코당할때는 HTML로 코딩하도록됨

브릿지 기술

Ex) ios 앱을 가져와서 컴파일 시키면 윈도우앱이된다
안드로이드 애플리케이션을 사용하여 윈도우앱을 만듬(프로젝트 아스토리이아)
웹을 이용하여 앱으로 바로 제작가능(단점 : 앱에서 지원 되는 것들은 자바스크립트로 대체해야됨)

-사이트 참과여 공부하면 도움이 될듯함

디자인 할때 메뉴를 세로로 왼쪽에 배열

Universal Windows 에 확장 -> UWP -> 해당앱에 관련된 기능 추가

개발 순서 (기능을 조금씩 확장해 나가면서 개발)
1. 일단 PC 용제작
2. 핸드폰용 앶 제작 (기능 확장)
3. XBox용 앱 제작 (기능 확장)

보안은 윈도우폰이 안드로이드보다 훨씬 좋음

앱등록 방법
위의 dev.windows.com 의 대시보드에 들어가서 왼쪽에 메뉴에 추가하는 것이 붙어잇음
무언가 만들고 싶은게 있다면 일단 이름은 등록이 가능하니까 이름 먼저 등록해 두는 것이좋음(유니크하게)

*윈도우로 뭔가를 만들어야겟다고 생각된다면 빨리 이름이라도 잡아두는것이 중요

 It's all about UWP
UWP : universal Windows Platform

1. XAML
2. Tool
3. Databinding

새로운 컨트롤
* RelativePanel
Element는 또다른 Element의 상대적 위치를 가짐
적응형 UI에 이용
Visual State 와 동시에 이용된다
Panel을 기준으로 상대적 정렬 설정

*SplitView
윈도우 폰 설정과 윈도우 10 설정은 동일한 코드로 만들어 졋지만 이 스플릿 뷰를 이용하면 여러기기에 대응하는 UI를 만들수 있다.

*Adaptive UI
Visual states

상태 전환 방법 
VisualStateManger.goto()
다 코딩해야됨

*Adaptive trigger
코드없이 XAML에서 설정만으로 상태전환가능




XAML 성능
*Phase rendering
가능한 적은 단계로 관리 (제한은 없지만 3개 이하가 이상적)
연속적일 필요는 없음

*deferred loading
특정 시간까지는 작동하지 않아도 되는 element 등을 처리 하지않게하여 성능향상
초기 로드되는 요소 최소화
요소가 요구 되기 전까지는 로드되지 않는다

경량의 proxy element 가 대신 생성됨
이벤트는 element가 로딩된후 등록




Tool (visual studio 2015에 추가된것)
진단도구 (코드 우측에 걸리는 시간제공 및 프로파일링 기능 제공
중단던
직접실행창 (LINQ실행가능)
라이브 시각적 트리 (어플리케이션의 트리를 탐색할수잇는 기능)
라이브 속성 탐색기




Databinding
*기존 데이터 바인딩 방식
Class binding, {binding}
정적/동적 바인딩
convert

정적 데이터 바인딩
Static

동적 바인딩
바인딩 표현식 {Binding ....}
DataContext 설정 필요
값이 없을 경우 그냥 아누것도 출력이 되지않고 오류가 발생하지는 않음

INPC
INotifyPropertyChanged
UI업데이트
Data -> UI

INCC
INotifyCollectionChanged



*컴파일 바인딩
Compiled binding
바인딩 성능 향상 && 기존의 편리함을 유지
새로운 데이터 바인딩 원리
컴파일타임에 바인딩의 일정작업이 진행됨

런타임시 부하가 적고
런타임시의 리플렉션 코드 최소화
변환된 코드는 디버깅 가능

대상 타입의 명시적인 선업필요
-> 해당 패이지의 멤버만 바인딩 가능

Resource dictionary 

이벤트 바인딩

{X:bind}
컴파일된 바인딩

고려해야할점
MVVM에서 적용
JSON 에서 문제

Mva 홈페이지에 발표자료와 영상 업로드 예정



( 3챕터는 밖에 나갓다와서 잘 못들어서 제외)

4챕터

Windows 10 IoT Core = UWP + IoT Extention (GPIO, I2C 등)

API 호환
데스크탑 API의 54%공유 (나머지는 모바일 전용 셀롤러 데이터등)
모바일의 84% (센서 부분을 위한 API)

GDI
WinForm

하나의 UI 앱
간편한 peripherals 접근
UWP앱, 드라이버 지원 (커널 드라이버면 다시 컴파일 할경우)
Win 32.NET지원, But NO GDI, NO MFC

개발환경
Windows 10 개발 PC
    |
타겟 디바이스

이용 어플리케이션
Power Shell
Visual Studio
등등


지원보드 (현제 정식)
MinnowBoard MAX
Raspberry Pi 2
DragonBoard 410C

GPIO : 사용자 정의 통신
I2C : 낮은 스피드, 많은 디바이스 지원
SPI : 높은 스피드, 적은 디바이스 지원

간단하게
Windows.devices.gpio 등을 사용하면 사용가능

I2C 의 장점
다른 보드 작업 필요 없음
출력 값은 디지털 신호

조도센서 LSL2561
16bit 출력, I2C 연결, 400KHz
Slave address 는 0x39

영어나 열심히 하자....

Connect The Dots
PowerBI
Azure (센서값 모으고 분류)
(IoT 센서에 큰 도움을 줄것으로 보임)

TO DO...
WindowsOnDevices.com

댓글

이 블로그의 인기 게시물

싱가포르 여행 1일차

난분명 아침에 11시쯤에 바로 밥먹고 공항으로 이동한다는 소리를 들었는데...그전에 과학관으로 끌려가서 급하게 회로 만들어서 전시를 하게 됬다... 다른 학교에서 준비한 회로 급하게 준비한 회로 아쉬운게 이거 기간만 제대로 알앗더라면 좀더 멋들여 지게 만들수 있엇을것 같다... 아무튼다시 과학관에서 학교로 이동한뒤 바로 공항으로 끌려 나가게 되었다.  공항 도착!!!  오오오, 처음와보는 인천 공항...예상이상으로 크고 넓엇다. 예전에 가족여행을 가면서 청주공항은 갓지만 여긴 그 청주공항보다 더 크고 넓다는 느낌이 들었다. 그리고 너무 일찍와서 애들 사진찍고 시간만 때웟다.  비행기 타기전 시간을 계속 때우다가 비행기를 보게 됫는데 멀리서 보니까 은근 작다는 느낌...? 그리고 가까이서 보니 크더라...  비행기 안   운이 좋게도 창문쪽으로 자리가 됬다 어예  비행중  비행 시간이 총 6시간 걸린다고하길레 심심할줄 알았는데 예상외로 노래도 있을건 있고 (없을건 없다) 영화도 않본것들이 들어있어서 그래도 심심하지 않게 온것 같다. 그리고 3번째 사진이 기내식인데 이거 다른거 다 괜찮은데 두부가 왜 들어 있는건지 정말 맛이 없다... (개인적으로...)  도착 일단 도착해서 짐을 찾은 뒤, 유심을 사기위해서 이동을 했다.  유심 구입 10 일동안 100GB에 국제 전화 90분 무료라는데...싱가포르 달러기준으로 30$를 내고 구입했다. 사실상 이거 로밍보다 가성비가 좋은것 같다. 그리고 이거 제일 신기했던게...일반 유심이랑 나노랑 마이크로랑 3단 분리가 된다고 표현해야되나....아무튼 3종류 유심사이즈들을 다 커버해준다...그리고 그다음 버스를타고 숙소로 이동하기 위해서 공항 밖으로 나왔는데 ...

마소 후기

원래 한 5명? 정도가 가기로 했는데 이 석ㅇ... 암튼 애들이 다 숙제나 다른 애는 광주로 간다고 해서 결국 혼자 다녀왔다.... (도착) (사실상 경치 감상하기 좋은 곳) 앞에 광화문에서 어떤 행사인지는 모르지만 행사를 해서 위에서 지켜다 보면서 기다리다가 입장을 하게 되었다. (입장) 이번에는 저번 구글 IO 때처럼 대충 듣고 가기 싫어서 앞자리를 차지했다. 기억에 남는 내용 몇 가지를 뽑자면  일단 첫 번째로 왼쪽은 Visual Studio 내장 에뮬로 구동을 한 설정 이고, 오른쪽은 그냥 윈도우 10에 내장된 설정 창이다. 대충 보면 많이 다른 것처럼 느껴지지만 ... 이 두 가지 방법을 이용하여 두 설정을 동시에 만들어 낼 수가 있다. 사이즈에 따라 속의 UI 가 바뀌어 진다는 것이 마치 반응형 웹 페이지를 보는 기분... 두 번째로 기억에 남는 내용은 컴파일 바인딩에 관련된 것이다. (왼쪽 : 동적 데이터 바인딩, 오른쪽 : 컴파일 바인딩) 두 가지 바인딩 식이 있는데 하나는 컴파일 바인딩 하나는 동적 데이터 바인딩 동적 데이터 바인딩은 DataContext 설정이 필요하다. 컴파일 바인딩은 바인딩 성능 향상 과 기존의 편리함을 유지하고 런타임 시 부하가 적고 리플렉션 코드가 최소화 된다. 그리고 변환된 코드는 무려 디버깅이 가능하다! 하지만 대상 타입의 명시적인 선언이 필요하고 해당 페이지의 멤버만 바인딩이 가능하다는 단점(?)이 있다. 그리고, 세 번째로 기억에 남는 부분은 Windows 10 IoT 에디션 인데.... 데스크탑 API의 54%공유 (나머지는 모바일 전용 셀롤러 데이터 등) 모바일의 84% (센서 부분을 위한 API) 최소사양이 램 256MB... 하나의 UI...

싱가포르 여행 2일차

 아침  진짜 한마디로 요약하자면 제일 맛있는게 사진 오른쪽에 오렌지 주스다. 어제 기대한 것 처럼 뷔폐식으로 나오긴 했는데 한국에서 먹던것과는 맛이 매우 큰차이가난다. 사진에는 없지만 밥이 우리나라처럼 서로 좀 달라붙는 그런 밥이아니라 그냥 흐트러지는 점성이 없는 밥이다... 그리고 가장 충격이였던게 시리얼 맛이 진짜 우리나라꺼만 먹다가 가면 이게 먹으라는건지 아니면 내가 잘못가져온 건가 라는 생각이 들 정도로 맛이 없다. 그냥 콘 시리얼이라 그런거 같긴 한데...뭔가 맛이 이상한 우유랑 섞이니 맛이 아주 개판이다. (한국꺼만 먹다간 내 기준)  시스코(CISCO) 견학  원래 내이름은 KIM GYUNG SIK인데...같은 발음인 저렇게 됫다 (여권도 저래됨)  역시 네트워크 관련 기업이라서 그런지 서버실은 기본이요 네트워크를 활용한 여러가지 기술들을 볼수 있엇다.그리고 외국 기업이라 그런지 내부 지원(?) 이 상당히 좋다...노는곳도잇고 낮잠을 잘수 있는곳까지 존재한다.  점심  솔직히 말해서 이메뉴 샤브샤브같은 거라던데...뭔가 우리나라의 샤브샤브랑은 너무 많은 차이가 있던 메뉴였다...소세지도 들어가고 닭고기도 들어가고 생선도 들어가고....  동물원  동 물원에 도착해서 들어가면 맨 처음으로 펭귄이 있는데 얘내가 너무 귀여웠다. 그리고 그다음으로는 5번째 사진의 이동수단을 이용해서 관람을 진행하는데 한국에서는 보지 못했던 여러가지 종류의 새를 볼수 있엇다. 마지막으로 여기서 공연을하는데 새를 이용하고 관객들이 참여할수 있단점에서 인상깊엇던 공연이였다  (한국에서는 본적이 없다...)  싱가포르 대학교   여긴 아쉽게도 찍은 사진이 한장밖에 없다. (한장 더있지만 팀 사진이라서 일단 보류) ...