微软抛弃微软.Net了吗?Net技术的未来在哪里-浅谈微软技术路线
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技术的未来在哪里-浅谈微软技术路线的更多相关文章
- 浅谈Hybrid技术的设计与实现第三弹——落地篇
前言 接上文:(阅读本文前,建议阅读前两篇文章先) 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 根据之前的介绍,大家对前端与Native的交互应该有一些简单的认识了,很多 ...
- 浅谈Hybrid技术的设计与实现第二弹
前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...
- 浅谈Hybrid技术的设计与实现
前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 随着移动浪潮的兴起,各种APP层出不穷,极速的业务扩展提升了团队对开发 ...
- (转)浅谈Hybrid技术的设计与实现
转载地址:https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hyb ...
- 浅谈Hybrid技术的设计与实现【转】
https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术 ...
- 浅谈PHP技术应用
序号:1210-41 黑龙江省高等教育自学考试 本科毕业论文 题 目 浅谈PHP技术 学员姓名 夏滟 专 业 计算机及应用 准考证号 010311192585 指导 ...
- 浅谈.NET技术公司的实习生培养
浅谈.NET技术公司的实习生培养 背景 近几年.NET开发者市场的越发不景气,一毕业就选择.NET技术的开发者更是少之又少.一方面是公司效益的日益提高,一方面却是招聘优秀人才的速度总是赶不上公司发展的 ...
- 浅谈数据库技术,磁盘冗余阵列,IP分配,ECC内存,ADO,DAO,JDBC
整理-----数据库技术,磁盘冗余阵列,IP分配, ECC内存,ADO, DAO,JDBC 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发.发布和支持.My ...
- 【ASP.NET 系列】浅谈缓存技术在ASP.NET中的运用
本篇文章虽不谈架构,但是Cache又是架构中不可或缺的部分,因此,在讲解Cache的同时,将会提及到部分架构知识,关于架构部分,读者可以不用理解,或者直接跳过涉及架构部分的内容 你只需关心Cache即 ...
随机推荐
- 国外AI界牛人主页 及资源链接
感觉 好博客要收集,还是贴在自己空间里难忘!!! 原文链接:http://blog.csdn.net/hitwengqi/article/details/7907366 http://people.c ...
- OpenCV: 图像连通域检测的递归算法
序言:清除链接边缘,可以使用数组进行递归运算; 连通域检测的递归算法是定义级别的检测算法,且是无优化和无语义失误的. 同样可用于寻找连通域 void ClearEdge(CvMat* MM,CvPoi ...
- X.509 certificate
A digital certificate is a collection of data used to securely distribute the public half of a publi ...
- C#写上位机中写曲线图的知识点(VS2019-WPF)
最近在写一个上位机,为了与下位机软件串口进行通信以及一些数据的形象显示,做到曲线图这一块的时候出现了一些问题,我用的是VS2019(个人不能吐槽VS2019新版本,因为平时也很少用VS,下载的时候就直 ...
- res对象json,redirect
1.res.json() var express=require('express'); var app=express(); app.get('/',function(req,res){ //返回j ...
- python 从Excel中取值
import openpyxl from openpyxl import load_workbook def open_file(file_path): workbook = load_workboo ...
- eas之视图冻结与解冻
// 冻结视图 table.getViewManager().freeze(verticalIndex, horizonIndex); //冻结视图:该方法在table还没显示的时候使用,也就是该方法 ...
- HDU 2267 How Many People Can Survive(广搜,简单)
题目 //一道简单的广搜水题 #include<queue> #include<stdio.h> #include<string.h> #include<al ...
- Centos7.5虚拟机无法ping通网关、外网IP地址
问题:前两天Centos7.5虚拟机关机,第二天重启后使用Xshell发现无法连接虚拟机,经检测发现虚拟机无法ping通192.168.1.1.无法ping通192.168.1.118(客户机)和ww ...
- python项目开发:用RabbitMQ实现异步RPC
程序要求: 1. 用Rabbit MQ实现RPC 1. 可以异步地执行多条命令 2. 可以对一次性对多个机器执行命令 程序效果: --->run dir host1 host2 .... --- ...