UWP学习目录整理

0x00 可以忽略的废话

10月6号靠着半听半猜和文字直播的补充看完了微软的秋季新品发布会,信仰充值成功,对UWP的开发十分感兴趣,打算后面找时间学习一下。谁想到学习的欲望越来越强烈,干脆把UWP学习提上了日程,马上开始。之前有过2年WPF开发经验,过渡到UWP应该不会特别困难。第一步就是找点学习教程了,找了一圈发现还是MSDN比较靠谱。https://msdn.microsoft.com/en-us/library/windows/apps/hh703192.aspx。特别值得一提的是所有文档都有中文的,而且粗略看了下质量还算不错,不过英文文档也真心不难,有条件的还是推荐看英文的。其中很多主题都配了示例,简直太体贴了。但是看了几个主题后发现主题的顺序并不是逐渐深入的,而是按照首字母顺序排列的(好吧,看了半天才发现这个问题也真够后知后觉),中文版顺序也和英文版保持一致。例如XAML这么基础的东西因为是字母X开头导致排到了最后面,给我的感觉就像是一个非常高级的主题一样(因为我看书老看不到最后,所以最后的几个主题总是显得莫名高深)。所以我把几个主题大概浏览了一下,然后整理了一份目录,用于后面的UWP学习。有了这个我感觉真没有买入门书籍的必要了。

把它写成博客主要有两个想法,一个是自己用着很方便,不管在哪打开就可以点着看,另外就是希望想学习UWP开发的兄弟也可以参考一下,当然只是参考,每个人知识背景和需求不一样,完全可以自己设计学习路线。

0x01 UWP学习目录

第一部分 UWP入门

主要介绍什么是UWP以及其特点和与之相关的一些概念。最后会尝试新建项目,并写一个Hello World的入门程序。这个我感觉是必不可少的,一个Hello world程序至少说明了开发环境配置正确了,项目建立和运行学会了,而且开发一个真正能跑起来的应用可以极大增强后面学习的信心。因此建议一定要亲自写出这个Hello world。

第二部分 基础知识

XAML 平台

这个是基础中的基础,写UWP不能离开界面,写界面就离不开XAML。之前熟悉WPF的基本可以跳过去了。相关主题也可以参照WPF的书籍。而且这个主题里也讲到了依赖项属性、路由事件等,这些都是UWP开发基础。

数据绑定

这个也是基础,特别是从Winform过度过来的需要好好看看,即使是WPF转过来的也需要看一下。

控件、布局和文本

学习了构建UI的语言XAML后面很自然地就要学一下布局和控件了。因为写个测试程序都要有个UI,所以这部分也是基础中的基础,是需要第一步解决的。即使有WPF基础最好也看一下,我就曾经因为找不到心爱的DockPanel而十分痛苦。此外响应式布局也是个新概念,对于UWP来说很重要。

导航

应用不能只有一个页面啊,多个页面间自然需要导航,所以这个也是基础。

应用数据和设置

几乎所有的应用都需要保存一些用户数据的,所以这部分也很基础,是必须要学习的。

磁贴、锁屏提醒和通知

用最少的操作得到最多的信息,这在磁贴上体现的很多。比起安卓和iOS的图标加数字不知道高到哪里去了。

线程和异步编程

如果是桌面开发的话多线程和异步应该算是高级主题了,不过在UWP中几乎所有操作都是异步的。毕竟手机性能有限,通过异步操作加上过度动画,可以提高交互体验,给人一种顺滑流畅的感觉。因此对线程和异步的了解已经成为了基础知识。

调试、测试和性能

写程序调试的时间很多情况下要超过写代码的时间,因此还是要好好学习下调试和测试

设计UWP APP

如果是个人开发者的话这个就很重要了,还是要学习一下界面设计的一些基本原则的。

第三部分 常用主题

常用主题只要看题目就比较明白了,可根据需求参考相关主题。

启动、恢复和后台任务

应用到应用的通信

文件、文件夹和库

音频、视频和相机

图形和动画

网络和 Web 服务

联系人和日历

自定义用户交互

地图和位置

设备、传感器和电源

辅助功能

游戏

全球化和本地化

安全性

第四部分 发布相关

打包应用

获取应用收益

UWP学习目录整理的更多相关文章

  1. CSDN——【低调的草原狼】——Ext4.2学习目录整理

    最近在研究ExtJS,发现CSDN中有个博客中一系列文档非常优秀,但是没有对目录进行整理,在此稍作整理,也为以后自己研究打下一个基础: 原文作者:低调的草原狼 目录:     1.ExtJS4.2学习 ...

  2. ASP.NET MVC5 及 EF6 学习笔记 - (目录整理)

    个人从传统的CS应用开发(WPF)开始转向BS架构应用开发: 先是采用了最容易上手也是最容易搞不清楚状况的WebForm方式入手:到后面就直接抛弃了服务器控件的开发方式,转而采用 普通页面+Ajax+ ...

  3. React 入门学习笔记整理目录

    React 入门学习笔记整理(一)--搭建环境 React 入门学习笔记整理(二)-- JSX简介与语法 React 入门学习笔记整理(三)-- 组件 React 入门学习笔记整理(四)-- 事件 R ...

  4. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  5. mysql数据库学习目录

    前面的话 对于前端工程师来说,数据库并不是主要技能点,但是基本的增删改查操作还是需要了解的.小火柴将mysql数据库的学习记录整理如下 目录  前端学数据库之基础操作 前端学数据库之数据类型 前端学数 ...

  6. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  7. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  8. Deep Learning(深度学习)学习笔记整理系列之(六)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Deep Learning(深度学习)学习笔记整理系列之(四)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. 在Linux虚拟机下配置tomcat

    1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...

  2. 如何在nuget上传自己的包+搭建自己公司的NuGet服务器(新方法)

    运维相关:http://www.cnblogs.com/dunitian/p/4822808.html#iis 先注册一个nuget账号https://www.nuget.org/ 下载并安装一下Nu ...

  3. angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用

    今天我们要讲的是ng2的路由系统. 例子

  4. mysql进阶之存储过程

    往往看别人的代码会有这样的感慨: 看不懂 理还乱 是离愁 别是一番滋味在心头 为什么要使用存储过程? 在mysql开发中使用存储过程的理由: 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定 ...

  5. 用WebRequest +HtmlAgilityPack 从外网抓取数据到本地

    相信大家对于WebRequest 并不陌生,我们在C#中发请求的方式,就是创建一个WebRequest .那么如果我们想发一个请求到外网,比如国内上不了的一些网站,那么该怎么做呢? 其实WebRequ ...

  6. CSS3 @keyframes 动画

    CSS3的@keyframes,它可以取代许多网页动画图像,Flash动画,和JAVAScripts. CSS3的动画属性 下面的表格列出了 @keyframes 规则和所有动画属性: 浏览器支持 表 ...

  7. Android studio使用gradle动态构建APP(不同的包,不同的icon、label)

    最近有个需求,需要做两个功能相似的APP,大部分代码是一样的,只是界面不一样,以前要维护两套代码,比较麻烦,最近在网上找资料,发现可以用gradle使用同一套代码构建两个APP.下面介绍使用方法: 首 ...

  8. iOS网络4——Reachability检测网络状态

    一.整体介绍 前面已经介绍了网络访问的NSURLSession.NSURLConnection,还有网页加载有关的webview,基本满足通常的网络相关的开发. 其实在网络开发中还有比较常用的就是网络 ...

  9. 给缺少Python项目实战经验的人

    我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...

  10. SQL-union

    集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定.(可以用来连接多个结果)联合(union)与连接(jo ...