winform:优点是简单易学,缺点是界面做不好看,界面适应能力很差。

wpf:微软结合了显卡渲染技术推出的界面设计方式,模仿html推出了自己的xaml,winform能实现的wpf都能实现,因为wpf有一个WindowsFormsHost控件,他是为托管winform控件做准备的,比如wpf没有chart控件,可以直接托管一个winform下面chart。比如:

需要引用System.Windows.Forms.DataVisualization

<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:FormChar="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:Char="clr-namespace:System.Windows.Forms.DataVisualization.Charting;assembly=System.Windows.Forms.DataVisualization" xmlns:WinFormHost="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:WinFormControls="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" xmlns:local="clr-namespace:WpfApplication1"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid Name="AAA"> <WindowsFormsHost x:Name="myFormsChart" FontSize="8">
<Char:Chart x:Name="chart1" > </Char:Chart>
</WindowsFormsHost> </Grid>
</Window>

wpf可以做出自适应布局,做出更炫的动画,所以wpf是很值得学习的,完全可以替代winform,实际上我已经很久不碰winform了。winform和wpf之间转换是相当容易的,因为.net框架是一样的,变化不大,唯一阻碍就是xaml,但wpf同样可以托控件来排班,还能说什么呢?

uwp:uwp是wpf的进化也是wpf的退化,为什么这么说?先说说uwp的优点吧,uwp的优点就是跨平台(这里所谓的平台仅仅是微软自己的平台,wp和pc for win),这可以说是进化,退化就是很多wpf的功能被uwp扔掉了,而且编译出的程序只能在windows应用商店发布,也就是说uwp非常封闭。wpf使用的是传统的.net框架,做出来的是exe程序,uwp使用的是新的.net core框架,做出来的是appx,这个appx只能运行在win10手机和pc系统中。

熟悉.net的都知道messagebox和openfiledialog吧,新的.net core框架在uwp使用openfilepicker和contentdialog等替代来实现同样的功能。微软为什么要这么做?!因为为了适配手机,.net原来的东西根本就没考虑过要运行在手机上,所以微软进行了重写,所以如果你很熟悉wpf,很熟悉xaml,那么恭喜你你很容易做出uwp的界面,但是仅此而已,因为你熟悉的很多.net框架里面的东西都被换掉了,还有各种权限问题,屏幕适配问题等等。

以前做wpf我很喜欢用messagebox来debug,做uwp就老老实实用debug.writeline(),这些是天然的鸿沟阻碍你从wpf转向uwp,还有就是uwp令人诟病的封闭问题,编译出的程序只能提交到应用商店才能发布,想在qq官网下载qq for uwp?抱歉,你需要跳转到微软商店来下载。可能小一点的软件大家觉得也没什么,但是考虑到中国的墙技术,微软商店下载的速度从来就没快过,还经常瘫痪,下一点大的软件那真是因垂死听啊!

话题转回来,.net技术过时了吗?从微软的技术路线来看,正在进行.net和.net core框架的合并,从目前的情况来看,.net的功能是强于.net core的,就目前windows桌面程序而言,.net 的能力碾压.net core技术。所以wpf仍然是未来桌面程序开发的主流发展方向(前提是使用.net语言),至于uwp?以我目前的观点,只适合发布一些小型程序。什么时候微软能用uwp发布自己的vs和office套件,并且达到一样的功能的时候再说吧!

引用

微软抛弃微软.Net了吗?Net技术的未来在哪里-浅谈微软技术路线的更多相关文章

  1. 浅谈Hybrid技术的设计与实现第三弹——落地篇

    前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ...

  2. 浅谈Hybrid技术的设计与实现第二弹

    前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...

  3. 浅谈Hybrid技术的设计与实现

    前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 随着移动浪潮的兴起,各种APP层出不穷,极速的业务扩展提升了团队对开发 ...

  4. (转)浅谈Hybrid技术的设计与实现

    转载地址:https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hyb ...

  5. 浅谈Hybrid技术的设计与实现【转】

    https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术 ...

  6. 浅谈PHP技术应用

    序号:1210-41 黑龙江省高等教育自学考试 本科毕业论文 题    目    浅谈PHP技术 学员姓名    夏滟 专    业    计算机及应用 准考证号    010311192585 指导 ...

  7. 浅谈.NET技术公司的实习生培养

    浅谈.NET技术公司的实习生培养 背景 近几年.NET开发者市场的越发不景气,一毕业就选择.NET技术的开发者更是少之又少.一方面是公司效益的日益提高,一方面却是招聘优秀人才的速度总是赶不上公司发展的 ...

  8. 浅谈数据库技术,磁盘冗余阵列,IP分配,ECC内存,ADO,DAO,JDBC

    整理-----数据库技术,磁盘冗余阵列,IP分配, ECC内存,ADO, DAO,JDBC 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发.发布和支持.My ...

  9. 【ASP.NET 系列】浅谈缓存技术在ASP.NET中的运用

    本篇文章虽不谈架构,但是Cache又是架构中不可或缺的部分,因此,在讲解Cache的同时,将会提及到部分架构知识,关于架构部分,读者可以不用理解,或者直接跳过涉及架构部分的内容 你只需关心Cache即 ...

随机推荐

  1. Typeclassopedia 阅读笔记:导言与 Functor

    Typeclassopedia 阅读笔记 本文是对介绍 Haskell 中类型类(type classes)的文档 Typeclassopedia 的阅读笔记和简短总结,包含此文档中重要的知识点.读者 ...

  2. [iOS Reverse]logify日志追踪,锁定注入口-控制台查看

    前言 logify是theos的一个组件,路径是: /opt/theos/bin/logify.pl 我们还是以微信红包为例子,根据[iOS Hacking]运行时分析cycript得到的入口文件: ...

  3. 15.3 Task 语法和语义

    15.3.1 声明异步方法和返回类型 async static void GetStringAsync() { using (var client = new HttpClient()) { Task ...

  4. [luogu4158 SCOI2009] 粉刷匠(dp)

    传送门 Solution 把状态都记上暴力转移即可 Code //By Menteur_Hxy #include <queue> #include <cmath> #inclu ...

  5. [bzoj3291] Alice与能源计划 (二分图最大匹配)

    传送门 Description 在梦境中,Alice来到了火星.不知为何,转眼间Alice被任命为火星能源部长,并立刻面临着一个严峻的考验.为 了方便,我们可以将火星抽象成平面,并建立平面直角坐标系. ...

  6. Golang - 面对"对象"

    目录 Golang - 面对"对象" 1. 简介 2. 匿名字段 3. 方法 4. 包和封装 5. 接口 4. 包和封装 5. 接口 Golang - 面对"对象&quo ...

  7. HDU 2795 Billboard (线段树+贪心)

    手动博客搬家:本文发表于20170822 21:30:17, 原地址https://blog.csdn.net/suncongbo/article/details/77488127 URL: http ...

  8. Java Web学习总结(28)——Java Web项目MVC开源框架SSH和SSM比较

    SSH和SSM定义 SSH 通常指的是 Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层. SSM 则指的是 SpringMVC 做控制 ...

  9. 神经网络入门游戏推荐BugBrain

    今天看到一款神经网络入门游戏.BugBrain.在游戏中,你能够通过连接神经元.设置神经元阈值等建造虫子的大脑,让瓢虫.蠕虫.蚂蚁等完毕各种任务.下载下来玩了玩,难度真不是入门级的= =! 真心佩服作 ...

  10. 通过UrlRewriter配置MVC4伪静态

    有些项目须要设置静态.这样能够被站点收录了,提高站点的排名.内容. 假设地址后面有www.a.com/xx.html?id=1是不行,还是不能达到一些需求.怎么才干实现www.a.com/1/xx.h ...