Asp.Net Core和Django如何選擇


一、前言

最近經常聽說“人生苦短,我選python”這句話,為什么python擁有如此多的粉絲,她和c#、java靜態語言有哪些區別和優略呢?本篇將對python、c#主流的web框架Django和Asp.Net Core做一些分析,帶給大家更多的技術認知。

什么是Django

Django是使用python語言開發的一套web框架,主要用於網站后台和Api開發。由於python語言簡潔的特性,使用Django框架開發網站是十分輕松的事,其中很多開發風格與Node Js相似,也是僅次於Spring boot、NodeJs的熱門后端框架。Django出現至今已經十多年了,但是真正流行還是依靠近幾年Python的迅速崛起。

什么是Asp.Net Core

Asp.Net Core是由微軟支持並開發的一套web框架,主要用於網站后台、企業級后台系統、微服務開發。Asp.Net Core基於C#開發,其最大的特點就是語法優雅、面向對象、安全等,在應對復雜的業務和高性能的系統中有很強的優勢。Asp.Net Core的誕生只有幾年,但是她的“前生“就是Asp.Net,基於.net framework,使用過Windows的人相信無不知曉了。借助微軟的東風和Azure的強力支持,Asp.Net Core在web框架中也是十分流行。

二、如何使用Django

Django經過十多年的發展,其社區和和工具庫已經十分完善,創建一個Django框架只需要幾行cli即可。

創建Django

Step1:安裝python

在python官網選擇最新版本進行安裝:https://www.python.org/

安裝完成后在cmd中查看是否安裝成功:

python --version

安裝成功輸入如下:

Python 3.8.0

Step2:安裝Virtualenv:

我們需要使用pip(Python軟件包的工具)來安裝virtualenv

在cmd中輸入以下命令:

pip install virtualenv

到目前為止所有的安裝都是系統級的,下面所有的安裝包括Django都將在虛擬環境中。

Step3:在虛擬環境中安裝Django

創建用於安裝Django 的文件夾:

mkdir myproject
cd myproject

在myproject文件夾中創建虛擬環境並激活:

virtualenv venv
venv\Scripts\activate

在虛擬環境中安裝Django:

pip install django

 安裝一個新單Django項目:

django-admin startproject myproject

安裝后項目結構如下:

 啟動Django項目:

python manage.py runserver

到這里一個Django項目就創建完成了,有關Django的視圖、模型和路由操作后面再詳細介紹。

三、如何使用Asp.Net Core

Asp.Net Core誕生時間雖然不長,但是她幾乎繼承了所有Asp.Net的優點:簡單、快速、安全、強大IDE支持。如果你使用過.net或是Visual Studio,那么構建一個Asp.Net Core項目將十分容易。

創建Asp.Net Core

Step1:安裝.net core

在微軟官網選擇最新.net core SDK安裝:https://dotnet.microsoft.com/download

cli查看是否安裝成功:

dotnet --version

 Step2:安裝Visual Studio2019

在微軟官網選擇最新Visual Studio安裝:https://visualstudio.microsoft.com/zh-hans/vs/

Step3:創建一個新的Asp.Net Core應用程序

打開Visual Studio選擇創建新的項目:

 選擇Asp.Net Core Web應用程序並創建

 Visual Studio為我們提供了很多選擇,這里選擇Web應用程序:

 創建完成后項目結構如下:

 在Visual Studio中按Ctrl+F5啟動Asp.Net Core項目:

訪問https://localhost:5001/

 Visual Studio已經自動添加的SSL證書,所以可以使用https訪問。

以上就是Asp.Net Core項目創建過程,有關Asp.Net Core中的視圖、模型、路由、REST Api、架構等等后面再作介紹。

四、Django和Asp.Net Core

作為后端框架,Django和Asp.Net Core都有着各自的優勢,下面就分別介紹一下Django和Asp.Net Core的優勢。

Django優勢

  • 基於Python,Django基於Python開發,傳承者Python的所有特點,python作為動態腳本語言最大的優勢就是語法簡潔、快速入門,如果學過JavaScript或者是C#、Java等語言,上手python將會十分輕松。
  • 豐富的代碼庫,目前python包已經有數十萬之多,可能你想要實現的,在這些包中已經有更好的實現。
  • 流行、使用廣,使用Django的代表大廠是Instagram、豆瓣、知乎等。

Asp.Net Core優勢

  •  基於C#,Asp.Net Core基於C#,有着C#的所有優勢,c#作為以OOP、安全、語法優雅著稱的語言深受許多開發者的喜愛,微軟還提供了十分完善的文檔供開發者學習,如果你想學習C#將會是件十分輕松的事。
  • 強大豐富的標准庫,相對於Django,Asp.Net Core社區的代碼庫並不豐富,但是微軟提供的標准庫卻十分強大,多數情況下並不需要社區的代碼庫,這也是其代碼庫不豐富的原因之一。
  • 微軟、Azure強力支持,如果你需要一個跨平台、Azure上的應用程序,Asp.Net Core將會是最好的選擇。
  • 強大IDE,Visual Studio一直以宇宙最強IDE著稱,其強大、智能一直深受開發者喜愛。Visual Studio提供強大的代碼提示、異常警告、調試等功能,一旦使用往往叫人欲罷不能,如果你想提高效率、節省開發時間Visual Studio是最好的選擇。

五、如何選擇

上面分別介紹了Django和Asp.Net Core 的優勢,但這兩大web框架似乎各有千秋難以選擇,在這里筆者結合自己的經驗和學習總結給大家一些建議,希望大家能做出最合適的選擇。

語言選擇

 沒有最好的語言,只有最合適的語言。在語言選擇上很多人往往存在門戶偏見,網上也經常聽到”某某是世界上最好的語言“,其實語言的設計之初並不是為了打敗其他語言,而是為了最適合某一場景,比如Javascript是最適合web前端,c最適合計算機底層等等。所以我們在技術選型的時候一定要結合公司的業務和未來發展方向,如果公司的主要業務是人工智能、數據挖掘、機器學習,那么python肯定是最合適的選擇,如果公司需要的是安全穩定的后台服務、微服務、業務系統、基於雲端,那么Asp.Net Core會更加合適。

python一直是人工智能、機器學習、數據挖掘領域的傑出代表,c#的最大特點是OOP、安全,所以在企業后台、服務端有着很大的優勢。

框架選擇

在框架大行其道的今天,我們往往不需要糾結於某一語言的選擇,因為現在的大部分框架都是REST風格,所以在一個高端的系統中從來都不止一種語言、一種框架。對於絕大部分的中小企業來說,選擇一種框架也足夠了,這兩個框架均開源免費,所以不需要為收費的問題糾結。Django代碼庫豐富,但標准庫卻遠遠不夠,許多功能都是借助於第三方代碼庫,這些代碼庫可能收費、可能免費、可能高效、可能低效,所以選擇Django往往會糾結於第三方庫的選擇。如果是門戶網站、博客類網站、快速上線的系統,使用Django開發會事半功倍。Asp.Net Core標准庫非常強大而且安全,對於企業級的后台系統、平台系統、雲端系統、微服務十分適合,c#語法中的linq、lamdba、Task、async、await等特性可以從容的應對復雜的業務和高性能的系統。使用DDD架構搭建Asp.Net Core應用程序可以輕松的拆分、解耦業務,對於大型業務系統如:ERP、CRM、WMS等來說不僅提高效率,更加可以靈活的控制業務打造平台級產品。

六、總結

本篇文章介紹了Django和Asp.Net Core如何上手和選擇,以上對比和選擇建議均是本人經驗和學習總結,如有不足還請指出。引用亮劍的一句話”不謀萬世者,不足謀一時;不謀全局者,不足謀一域“,想要為企業做出最適合的選擇,不僅對業務要十分精湛,還要對技術有足夠的認知。

 


免責聲明!

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



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