zoukankan      html  css  js  c++  java
  • 微软抛弃微软.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套件,并且达到一样的功能的时候再说吧!

    引用

  • 相关阅读:
    linux常用命令的英文单词缩写
    Linux常用指令总结
    java exception "file not found or file not exist"
    Linux清空屏幕和清空当前输入的快捷键
    巨蟒python全栈开发-第10天 函数进阶
    为什么不能在函数中给全局变量赋值?
    巨蟒python全栈开发-第9天 初识函数
    巨蟒python全栈开发-第8天 文件操作
    windows10怎样关闭,开机启动项中不需要的应用?
    巨蟒python全栈开发-第7天 基本数据类型补充&深浅拷贝
  • 原文地址:https://www.cnblogs.com/NuclearBoy/p/5839659.html
Copyright © 2011-2022 走看看