Windows App开发之开发准备

简介:

操作系统及SDK

操作系统

显而易见,想要开发Windows App就得在Windows 8/8.1/10上进行,老旧的Windows XP/Vista/7已经不能满足时代的需要了。当然,在Windows App的发展过程中,其本身也有着较大的变动,为了使用新的特性,建议使用Windows 10。我在写这个教程时,Windows 10正式版并未面世,因此暂时未介绍Windows 10上的新特性,随后会继续更新,欢迎您的继续关注。

操作系统除了在官网下载之外,还可以在DreamSpark等地方下载。DreamSpark上除了Office其他微软操作系统、开发工具及其他软件对学生均免费开放。

Visual Studio

Visual Studio系列作为地球上最强大的IDE,学习Windows App开发自然也是少不了的。

另外由于这个博客系列主要方向是Windows App(以往称为Universal Windows App,简称UWA),所以我用的SDK依然是预览版——Visual Studio 2015 Preview [CTP 6]

安装疑难

安装Visual Studio 2013/2015 出现蓝屏时,将网卡驱动卸载掉重新安装即可,这种情况尤其出现在Visual Studio 2013早先版本以及用校园电信网的情况下。

大家如果遇到什么问题,找到或未找到解决方案时都可以邮件给我,我将更新到此处。我的邮箱是nomasp@outlook.com。

Windows App简介

C#

C#是微软主推的编程语言,也是Windows App最合适的开发语言,因此本教程统一用C#来讲解。

开发Windows App,可以用Windows XAML(C#、C++和VB)、WinJS(HTML+JavaScript)、DirectX(C++)等组合。而Silverlight(C#和VB)是WP所独有的,Silverlight已经基本被淘汰,建议大家用C#+XAML来进行开发,在游戏开发和图像处理方面,C++则更有优势。

XAML

Extensible Application Markup Language(简称XAML,发音为Zamel)是WPF的一部分,其语法类似于HTML,它们都是“标记语言”。我是先学的XAML后学的HTML,一开始还很喜欢这种语言——它没有一大堆的“;”。XAML本质上属于一种.NET编程语言,属于公共语言运行时(Common Language Runtime,简称CLR)。

看到很多的教程等上都在一开始便讲解了xmlns等命名空间,我觉得这样不太合适,毕竟现在根本用不到,因此也记不住,等到需要的时候自然会印象深刻。

通用应用

其实我觉得“通用应用“这个名字显然更加合适,更加侧重”通用“的特点。其能够在所有的Windows平台上运行,不仅仅是PC、平板、手机,甚至还有Xbox。能够在多个平台共享大部分的代码,使其能够一次开发,在多平台运行。

虽然跨平台大家都在做,但通用应用这个概念我还是挺看好的。此前一直有Windows 10要兼容安卓应用的传闻,在微软2015 Build大会上,微软宣布的则是通过将安卓应用极为方便快速地移植到Windows平台,虽然这样一来由于应用设计风格的巨大差异会特色渐消。此外Windows 10的免费升级计划是否能通过桌面版带动移动版的发展,让我们拭目以待吧。

动手创建第一个应用

新建工程

这里写图片描述

如果不是装的固态那么安装的过程会是非常漫长的,请大家耐心等待。装好之后就可以开工啦。

Ctrl+Shift+N直接呼出新建项目窗口。

这里写图片描述

新建完成后再解决方案管理器中会是如下界面:

这里写图片描述

如果没有显示出解决方案管理器,可以按Ctrl+W,S。或者也可以在最上面的工具栏中点击视图(View)。在Solution ‘WindowsApp1’上右键可以继续再创建第二个项目。

如图中所示,共有3个部分:
1)WindowsApp1.Windows (Windows 8.1)
2)WindowsApp1.WindowsPhone (Windows Phone 8.1)
显然这两个分别是Windows应用中的Windows 8.1 和Windows Phone 8.1部分。其下又有:
Properties:应用相关的一些版本号等。
References:引用,主要是用来引用第三方的东东,比如广告啦。
Assets:可以将App所用到的素材资源等放在这个文件夹中。
MainPage.xaml:XAML代码就是在这里写的哦,C#代码需要在点击MainPage.xaml左边的三角形后出现的MainPage.xaml.cs文件中写。
Package.appxmanifest:应用包的一些清单,后面用到的时候再细讲啦。
剩下一个就是相关的证书了。
3)WindowsApp1.Shared
这个就是Windows App(通用应用)的精髓啦,比如可以把类、资源文件等放在这里啦。

调试程序

这里写图片描述

在这里可以设置调试Windows 8.1应用还是Windows Phone 8.1应用。

设置启动项

这里写图片描述

在这里可以选择在本机调试或者虚拟机中调试。

动手操作

在MainPage.xaml中写下以下代码:


<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <TextBlock Name="tblock" Text="" FontSize="50" Foreground="Red"  Margin="173,78,940,498"/>    
    <Button Name="btn" Content="显示名字" Click="btn_Click" Width="155" FontSize="25" Height="90" Margin="170,286,0,392"/>  
</Grid>

只用到了两个TextBlock和Button两个控件,其中的属性:
Name:控件的名字
Text:TextBlock控件显示的文本
FontSize:字体
Width和Height:宽和高
Margin:边距,具体用法在后面的博客中会有介绍
Content:内容,此时会显示在Button控件上
Foreground:字体颜色

还有一个事件:
Click:点击事件

用鼠标双击btn_Click后按F12可以快速在C#文件中生成相应的函数。

这里写图片描述

然后本地计算机或虚拟机上调试就可以啦。

这里写图片描述

Visual Studio使用小技巧

行号

我看到蛮多童鞋的VS都没有开启行号,而能够看到自己写了多少行代码,无疑会让自己更加有成就感。

点击工具栏上的”工具(Tools)“,然后再点击”选项(Options)“,点开”文本编辑器(Text Editor)“,选择”所有语言(All Language)”,勾上行号即可。

快捷键

自动对齐:Ctrl+K,Ctrl+F
注释代码:Ctrl+E,Ctrl+C
(或:Ctrl+K,Ctrl+C)
清除代码注释:Ctrl+E,Ctrl+U
(或:Ctrl+K,Ctrl+U)

视图

1)学习开发时,视图中的“对象浏览器”是非常有用的。
2)可以将工具箱中的控件直接拉入MainPage.xaml的设计器中。这也就是传说中的“所见即所得”。
3)属性,点击一个空间后点击属性视图,可以设置其的属性和事件。

这里写图片描述

设计器

将鼠标指针放到设计器中,按住Ctrl键,然后用鼠标滚轮滑动即可放大或缩小中的视图。

鼠标滚轮前后滚动时,设计器中的窗口会上下移动,如果按住Shift则会左右移动。

同样也是将鼠标指针放到设计器中,安装Space(也就是空格)键,指针会变成一个小手,这时可以移动设计器。

大家若有更多建议,欢迎邮件我。

目录
相关文章
|
27天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
83 3
|
28天前
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
28天前
|
开发工具 数据安全/隐私保护 Android开发
【教程】APP 开发后如何上架?
【教程】APP 开发后如何上架?
|
1月前
|
API
uni-app 146朋友圈列表api开发
uni-app 146朋友圈列表api开发
18 0
|
27天前
|
Java Android开发 开发者
【Uniapp开发】APP的真机调试指南,从开发到上架全过程
【Uniapp开发】APP的真机调试指南,从开发到上架全过程
36 3
游戏直播APP平台开发多少钱成本:定制与成品源码差距这么大
开发一款游戏直播APP平台所需的费用是多少?对于计划投身这一领域的投资者来说,首要关心的问题之一就是。本文将探讨两种主要的开发模式——定制开发与成品源码二次开发的成本差异及其优劣势。
|
1月前
|
开发框架 移动开发 JavaScript
SpringCloud微服务实战——搭建企业级开发框架(四十六):【移动开发】整合uni-app搭建移动端快速开发框架-环境搭建
正如优秀的软件设计一样,uni-app把一些移动端常用的功能做成了独立的服务或者插件,我们在使用的时候只需要选择使用即可。但是在使用这些服务或者插件时一定要区分其提供的各种服务和插件的使用场景,例如其提供的【uni-starter快速开发项目模版】几乎集成了移动端所需的所有基础功能,使用非常方便,但是其许可协议只允许对接其uniCloud的JS开发服务端,不允许对接自己的php、java等其他后台系统。
137 2
|
1月前
|
数据可视化 数据库 C++
Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用
|
1月前
|
移动开发 负载均衡 小程序
代驾app开发丨代驾系统开发玩法详情丨代驾系统开发网页版/H5/小程序及源码部署
**司机/代驾员端**:司机可以通过APP接收订单,查看订单详情、路线和导航,提供现场服务并进行确认。
|
1月前
|
人工智能 算法 数据处理
App Inventor 2 Personal Image Classifier (PIC) 拓展:自行训练AI图像识别模型,开发图像识别分类App
这里仅仅介绍一下AI图像识别App的实现原理,AI的基础技术细节不在本文讨论范围。通过拓展即可开发出一款完全自行训练AI模型,用于特定识别场景的App了。
41 1

热门文章

最新文章