微軟拋棄微軟.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套件,並且達到一樣的功能的時候再說吧!

 

引用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM