Your SlideShare is downloading. ×
20131127 Techdays mini 앱 개발 세미나(1) - Windows 8.1 새로운 API Overview
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

20131127 Techdays mini 앱 개발 세미나(1) - Windows 8.1 새로운 API Overview

1,166
views

Published on

2013년 11월부터 매월 1회 진행되는 앱개발 세미나를 촬영한 영상입니다. 그 첫번째 주제는 'Windows 8.1 완전정복!'으로 Windows 8.1에 추가된 새로운 API를 알아보고, 새로운 개발환경에 대해 살펴 보았습니다. …

2013년 11월부터 매월 1회 진행되는 앱개발 세미나를 촬영한 영상입니다. 그 첫번째 주제는 'Windows 8.1 완전정복!'으로 Windows 8.1에 추가된 새로운 API를 알아보고, 새로운 개발환경에 대해 살펴 보았습니다.


Windows 8.1에 추가된 새로운 API중에서 중요한 API들을 살펴보고 구현 방법을 샘플을 통해 하나씩 소개해 드립니다.


소개된 샘플은 http://sdrv.ms/11igPnr 여기에서 받을 수 있습니다.

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,166
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • End user/Customer value prop – User experience proof pointsPerformance is better across the boardMore Personal/More EfficientPersonalizationAll apps can easily access your people and calendar data to let you interact with your contacts and manage your eventsQuiet hours – all app notifications (except alarms and incoming calls) are turned off during user set “quiet hours”.TilesSmall tiles lets you get more tiles on the Start Screen (supported automatically with your current assets)Large tiles gives your apps more real estate on the Start Screen to show important information at all times (need to author large)Apps share screenMultiple apps on the screen – up to four apps on the screenApps can be sized anywhere from their minimize width to the full screenOnly the width of apps can be adjusted (standard small width is 500, apps can optionally specially support down to 320)Apps can request to share the screen when launching a file or protocol(example, Mail launches a website and leaves itself on half the screen to keep you in context)Apps don’t launch other apps directly (can open a file or protocol)Apps can specify the user be taken to a specific app in the Windows Store if no handler is present (helps with finding/installing companion apps)CloudRich SkyDrive integration with the operating systemSearchBing drives a much richer search experience“Hero” searches brings together the most important information for popular search termsSearch results are interactive (play music and video in place with one click)Local information is integrated with web information in the search resultALSODesktopSupport per-monitor DPIBetter touch supportSmoother animationResponsive“Fresh Apps” Apps load data files faster with HTTPpre-fetching to a cache, and can pop up on the screen with fresh data immediatelyApps can request that live tiles start as soon as they are installed (vs Windows 8 which is upon first launch)
  • Designed for new/innovative devicesSmall form factorHigh DPIMulti-monitorMultiple screens can show multiple modern apps at the same timeApps can detect resolution and dpi changes as they move from monitor to monitor
  • Blend for Visual StudioBest support for creating beautiful interactionsNot just for designers.Best tool for styling controlsBest tool for custom animationFree with Visual Studio.
  • Visual StudioThe world’s best IDE and development toolsThe developer’s homeEverything you need to build the apps that make the world go round
  • The performance tools in Visual Studio are unparalleled in their capabilities.Want to test XAML or HTML UI responsiveness? We can do that.How about JavaScript function timing and memory usage? Yup.CPU sampling and network usage? We have that too.We can even tell you how much energy your app is using, so that you can optimize it for the best possible performance and power consumption on portable devices.
  • WinRT in Windows 8 included a large number of essential APIs. We’ve updated many of them in 8.1 to increase capabilitiesWe’ve provided new controls Updated APIs are in light green (example: Geo-location, Proximity, Authentication, Contracts)
  • In addition, we’ve added significant new capabilities in Windows 8.1, all accessible to Windows Store app developersCapabilities like Point of Sale/Service device integration, Bluetooth, USB and WiFi direct.We’ve added WebGL for HTML/JS apps, and 3d printing accessible to any Windows Store appWe’ve added new Contacts and Appointments APIs to enable better integration with those things that make the device and your apps more personal.And much moreNew APIs are in blue (examples: Point of Service, USB, Diagnostics, PDF, etc.)
  • Microsoft is both the creator of .NET/XAML for Windows Store apps, and one of its largest customers. XAML is a key part of the developer story for Windows Store apps. That includes both .NET + XAML and C++ plus XAML
  • Almost every app needs to display text to the user. In most cases, the element you’ll use is the TextBlock.The TextBlock allows for text display, but isn’t limited to plain fonts. You have access to opentype features through the Typography namespace, and all the standard font features (Size, Weight, Family, etc.) through properties.The last four TextBlock instances all use the same font family, but through OpenType Stylistic Sets, are able to display complex variations.Through OpenType we can even control the display of fractions of arbitrary value. There are many more properties enabling features like capitalization and ligatures to ensure your fonts display exactly as you want them to at every resolution and DPI.The TextBlock also supports line breaks and word wrapping, but for more complex text, we have another control.
  • The text in the code listing has been shortened to fit on the slideParagraphs, spans, and runs allow for formatting sections of the rich text, using all the same font formatting options employed by the TextBlock.Hyperlink control provides simple dedicated URL linking functionality.InlineUIContainer enables inclusion of any XAML content, including other text controls, images, and even buttons and drop-down list boxes. This is primarily for the display of inactive controls, but they may be made interactive as well.RichTextBlockOverflow facilitates smooth overflow for multi-column text layout. In this case, the two controls are (not shown here) placed inside a two-column Grid.
  • The RichEditBox is to the TextBox what the RichTextBlock is to the TextBlock. It enables the display of complex rich text complete with inline elements and fine control over formatting.The text shown was loaded from an RTF document saved in Microsoft Word. Full fidelity formatting was preserved when displaying in the RichEditBox.
  • The InputScope property of the TextBox requires a little more explanation.Setting the scope does not provide any data validation. Instead, it is a hint to Windows telling it which on-screen keyboard to use for the most efficient interaction with the user. It’s easy to forget to set the inputscope on TextBox controls. However, we encourage you to set this property to make input easier for your tablet and touch-screen users.
  • An image’s source may be set in a few different ways.The easiest way is to simply provide a URI and a size. When this happens, Windows loads the entire image into memory and then scales it down from there.The second way is a bit more verbose because it uses a BitmapImage as the source. Like the straight Image Source, the BitmapImage can use a URI source to load from a file, site, or resource. However, it also adds a very important set of properties: DecodePixelWidth and DecodePixelHeight. These tell Windows which size to use when it loads the image into memory. Because the scaling is done once, and doesn’t need to be concerned about animation or other factors, Windows can also use a higher quality downsampling algorithm.If you specify only DecodePixelWidth or only DecodePixelHeight, Windows will infer the other based upon the aspect ratio of the image. However, if you know both values and the aspect ratio for the image, provide both for an even more efficient load.When you know the intended size ahead of time, always decode at that size.Finally, note the URI syntax used for loading assets from the Appx install folder. Prefix : ms-appx://Folder: /Assets/ImagesFile: Pro2.pngWe’ll cover this more in the Performance unit.
  • Windows 8.1에서는 추가적인 위치 CameraRoll 및 Playlists에서 파일에 액세스하는 데 사용되는 새로운 KnownFolders 속성을 제공합니다. KnownFolders.CameraRoll 속성을 통해 기존 Windows Phone 8 속성처럼 장치 카메라로 촬영한 사진에 액세스할 수 있습니다. KnownFolders.Playlists 속성을 통해 사용자의 재생 목록에 액세스할 수 있습니다.파일 저장소MSA(Microsoft 계정)가 있는 사용자는 파일 선택기에서 SkyDrive를 손쉽게 탐색하고 파일이나 폴더를 선택하여 앱에서 열 수 있습니다.SkyDrive 저장소 관리 도구Windows 8.1에서는 SkyDrive 저장소 할당량 관리 환경이 향상되었습니다. 사용자는 skydrive.com으로 이동하지 않고 Windows 내에서 바로 SkyDrive를 관리할 수 있습니다. 기본 Windows 8.1 인터페이스를 떠나지 않고도 저장소 사용량을 보고, 요금제를 업그레이드하고, SkyDrive에서 공간을 재사용할 수 있습니다.
  • Slide Objectives:Explain what a Backend-as-a-service isExplain the features (at a high level) that Mobile Services offersTransition:Let’s answer the question, what is Mobile Services?Speaking Points:Mobile Services is a Backend-as-a-Service (BaaS).Instead of coding, testing, deploying, and maintaining your own backend, you spin up a Mobile Service and can instantly take advantage of a ton of great features.These features include:Data storage powered by SQL Database (but not requiring you to be a DBA)Simple and easy to use push notificationsUser authentication and data authorizationServer side scripts so you can craft how your application will function on the server.Scaling – so you can meet the demand of your mobile apps when they get featuredLogging and Diagnostics so you can get insight into how your Mobile Service is workingBackend processing using something called SchedulerNotes:You may want to mention at this time that support exists for other platforms as well (Win Store, Win Phone, Android, iOS, HTML/JS, Xamarin, etc)
  • Bing is more than the search box in your browser. Through Bing as a Platform, your apps can leverage Bing’s services throughout all your apps and online services.
  • Bing offers numerous services as part of its developer platform.Bing maps makes it easy to incorporate map, imagery and location services in your appBing speech capabilities for speech recognition in your appsBing OCR to detect text from captured imagesBing translator for automatic machine translationThe Microsoft Advertising SDK and Bing ads to help monetize your appThe Bing search API to embed relevant search results in your apps.
  • The appointments/calendar API is very simple to use. You’re primarily dealing with two classes:AppointmentAppointmentManagerIn the case of adding an appointment, here are the steps:Create an appointment instancePre-fill details for the appointment (this is recommended as the user will not have an editing UI displayed to them, just a confirmation UI)Figure out where on the screen the popup should displayCall the ShowAddAppointmnetAsync function passing in the appointment object, display location, and optionally the preferred placementWhen the async call completes, do something with the returned ID (if the ID is empty, the appointment was not added)Markup for the button:<Grid Background="{ThemeResourceApplicationPageBackgroundThemeBrush}"> <StackPanel Width="500" Height="200"> <Button Content="Add Appointment" x:Name="AddAppointmentButton" Click="AddAppointment_Click" /> <TextBlock x:Name="ResultDisplay" FontSize="30" /> </StackPanel></Grid>The lines in the … section:// display the resultif (!string.IsNullOrEmpty(id))ResultDisplay.Text = "Returned appointment id " + id;elseResultDisplay.Text = "Appointment not added.";
  • The appointments/calendar API is very simple to use. You’re primarily dealing with two classes:AppointmentAppointmentManagerIn the case of adding an appointment, here are the steps:Create an appointment instancePre-fill details for the appointment (this is recommended as the user will not have an editing UI displayed to them, just a confirmation UI)Figure out where on the screen the popup should displayCall the ShowAddAppointmnetAsync function passing in the appointment object, display location, and optionally the preferred placementWhen the async call completes, do something with the returned ID (if the ID is empty, the appointment was not added)Markup for the button:<Grid Background="{ThemeResourceApplicationPageBackgroundThemeBrush}"> <StackPanel Width="500" Height="200"> <Button Content="Add Appointment" x:Name="AddAppointmentButton" Click="AddAppointment_Click" /> <TextBlock x:Name="ResultDisplay" FontSize="30" /> </StackPanel></Grid>The lines in the … section:// display the resultif (!string.IsNullOrEmpty(id))ResultDisplay.Text = "Returned appointment id " + id;elseResultDisplay.Text = "Appointment not added.";
  • N –Screen 이란단순히 화면 수를 늘려 나가는 것이 아니다. 각각의 디바이스의
  • N –Screen 이란단순히 화면 수를 늘려 나가는 것이 아니다. 각각의 디바이스의
  • N –Screen 이란단순히 화면 수를 늘려 나가는 것이 아니다. 각각의 디바이스의
  • N –Screen 이란단순히 화면 수를 늘려 나가는 것이 아니다. 각각의 디바이스의
  • N –Screen 이란단순히 화면 수를 늘려 나가는 것이 아니다. 각각의 디바이스의
  • Transcript

    • 1. 11월의 주제 개발자를 위한 Windows 8.1 완전정복! 2013년 11월 27일 한국마이크로소프트 11층
    • 2. 11월의 주제 개발자를 위한 Windows 8.1 완전정복! 앱 개발자를 위한 테크데이즈미니 세미나 시리즈 - 한국마이크로소프트 오디언스 마케팅 리드 유현경
    • 3. 개발자를 위한 Windows 8.1 완전정복! 대상 • 앱개발에 관심있는 모든 개발자 테크데이즈 미니 앱개발 세미나 웹페이지 http://aka.ms/techdaysminiappdev • 지난 세션 자료 열람 • 앞으로 계획된 세션 확인 테크데이즈 미니 토요세미나 http://aka.ms/techdaysminisat • 11월 30일 “Visual Studio 제대로 파헤쳐보기” 2탄 • 11월 16일 세션 자료 열람
    • 4. 11월의 주제 개발자를 위한 Windows 8.1 완전정복! Windows 8.1 New API’s Overview - 한국마이크로소프트 김영욱 에반젤리스트
    • 5. 개인화 (Lock Screeon & Background) 새로운 화면 분할 Bing 플랫폼과의 결합 새로운 타일 좀더 강력해진 SkyDrive
    • 6. 모든 가격대에서 만나보는 터치 스크린 점점 더 고해상도 8” Windows tablets LTE, 3G…. 등 통신 기능 기본 탑재 가벼워지고 얇아지지만 오래가는 배터리 배터리 사용 시간은 기본 8시간?
    • 7. Updated User interface Accessibility Data binding Devices Live tiles and toast Input Controls Graphics and media HTML5/CSS XAML Communications and data Services Portable Geolocation Direct3D Direct2D Direct Write Local storage SMS Skydrive Sensors Proximity Playback Capture PlayTo Streams Background transfer Bing Canvas SVG Syndication Networking Azure Mobile XML and JSON Contracts Xbox Live Printing Fundamentals Application services Threading/timers Memory management Globalization Cryptography Authentication
    • 8. New Updated User interface Accessibility Data binding Devices Live tiles and toast Input Controls Graphics and media HTML5/CSS XAML Communications and data Speech synthesis Services Portable Geolocation Point of service Direct3D Direct2D Direct Write Local storage SMS HTTP Skydrive Sensors Proximity USB Playback Capture PlayTo Streams Background transfer Contacts Bing HID WiFi direct Bluetooth Canvas SVG WebGL Syndication Networking Appointments Azure Mobile Printing 3D printing Scanning XML and JSON Contracts PDF Xbox Live Fundamentals Application services Threading/timers Memory management Globalization Cryptography Authentication Diagnostics
    • 9. Windows 8.1 You can develop for both Windows 8 and Windows 8.1 on Windows 8.1 A free Microsoft account Paid accounts required only for submission to the Windows Store Visual Studio 2013 Use the full-featured paid editions, or build great apps using the free edition for Windows Store development. Develop in JavaScript, VB, C#, or C++.
    • 10. Resource Package App Bundle App Bundle Manifest
    • 11. AppBarCommand BackButton ItemContainer NavBar WebView Dispose API Template and Binding Update
    • 12. TextBlock TextBlock FontSize="40" FontWeight="Bold" FontStyle="Italic" FontFamily="Times New Roman" TextBlock TextTrimming="WordEllipsis" TextBlock Typography.Fraction="Slashed" TextBlock Typography.StylisticSet4="True" TextBlock Typography.StylisticSet5="True" TextBlock Typography.StylisticSet6="True" TextBlock Typography.StylisticSet7="True"
    • 13. RichTextBlock OverflowContentTarget="{Binding ElementName=SecondColumnOverflow}" Paragraph Paragraph Paragraph Hyperlink Hyperlink Paragraph Paragraph InlineUIContainer Button InlineUIContainer Run Run Paragraph Paragraph Run Paragraph RichTextBlock RichTextBlockOverflow x:Name="SecondColumnOverflow"
    • 14. Button Click="LoadFileButton_Click" RichEditBox x:Name="RichTextEditor" private async void LoadFileButton_Click(object var new var var await await RichTextEditor.Document.LoadFromStream(TextSetOptions.FormatRtf, stream);
    • 15. <TextBox InputScope="EmailSmtpAddress"/> <TextBox InputScope="Formula"/> <TextBox InputScope="Number"/>
    • 16. TextBlock Image TextBlock Image Image.Source BitmapImage DecodePixelWidth="600" Image.Source Image Scale at decode time Providing a size when loading saves memory as only the bits to be displayed are loaded in memory, reducing your app’s working set. Often, this results in higher quality scaling as well.
    • 17. New File Picker New StorageLibrary GetParentAsync New KnownFolders Perperty SkyDrive API update
    • 18. http://isdk.dev.live.com/dev/isdk/Default.aspx?mkt=ko-kr
    • 19. XVP Mode Media Capture Upgrade
    • 20. Windows 8.0 Migration Windows Store App Template Windows Azure Mobile Service App Bundle XAML UI Test Multi Language Debugging Async Function Debugging Power Management
    • 21. Bing As A Platform Devices & Entry Points Services
    • 22. Bing As A Platform: Developer Resources Maps Bing Maps Platform offers a set of APIs to incorporate the latest maps, imagery and location services in your application. Translator The Bing Translator Control and Microsoft Translator API receive text and deliver automatic machine translation into a specified language. Speech Get Bing Speech capabilities integrated with your Windows Phone and Windows Store apps. Ads SDK Whether you’re developing in HTML or XAML, the Microsoft Advertising SDK has made it easy to insert ads into your Windows 8 and Windows 8.1 apps. OCR The Bing Optical Character Recognition (OCR) Control detects printed text from images captured by the device camera. Search API The Bing Search API enables developers to embed search results in applications.
    • 23. PDF Reader App 제작법
    • 24. 1. PDF File을 바꾼다. YW.PDFBookAppDocument
    • 25. 3. Icon을 변경한다. YW.PDFBookAppAssets
    • 26. 4.PDFBookApp project를 실행한다.
    • 27. 4. 앱 이름을 고친다. Package.appxmanifest
    • 28. 페이스북: The war of IT http://Facebook.com/thewarofit http://sdrv.ms/11igPnr