最近常常據說「人生苦短,我選python」這句話,處於好奇,筆者對python相關技術和web框架作了一番研究,本篇就對python web框架表明做Django和微軟主打web框架Asp.Net Core做一些介紹和對比。前端
Django是使用python語言開發的一套web框架,主要用於網站後臺和Api開發。因爲python語言簡潔的特性,使用Django框架開發網站是十分輕鬆的事,其中不少開發風格與Node Js類似,也是僅次於Spring boot、NodeJs的熱門後端框架。Django出現至今已經十多年了,可是真正流行仍是依靠近幾年Python的迅速崛起。python
Asp.Net Core是由微軟支持並開發的一套web框架,主要用於網站後臺、企業級後臺系統、微服務開發。Asp.Net Core基於C#開發,其最大的特色就是語法優雅、面向對象、安全等,在應對複雜的業務和高性能的系統中有很強的優點。Asp.Net Core的誕生只有幾年,可是她的「前生「就是Asp.Net,基於.net framework,使用過Windows的人相信無不知曉了。藉助微軟的東風和Azure的強力支持,Asp.Net Core在web框架中也是十分流行。web
Django通過十多年的發展,其社區和和工具庫已經十分完善,建立一個Django框架只須要幾行cli便可。django
在python官網選擇最新版本進行安裝:https://www.python.org/c#
安裝完成後在cmd中查看是否安裝成功:後端
python --version
安裝成功輸入以下:安全
Python 3.8.0
咱們須要使用pip(Python軟件包的工具)來安裝virtualenv架構
在cmd中輸入如下命令:框架
pip install virtualenv
到目前爲止全部的安裝都是系統級的,下面全部的安裝包括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的優勢:簡單、快速、安全、強大IDE支持。若是你使用過.net或是Visual Studio,那麼構建一個Asp.Net Core項目將十分容易。
在微軟官網選擇最新.net core SDK安裝:https://dotnet.microsoft.com/download
cli查看是否安裝成功:
dotnet --version
在微軟官網選擇最新Visual Studio安裝:https://visualstudio.microsoft.com/zh-hans/vs/
打開Visual Studio選擇建立新的項目:
選擇Asp.Net Core Web應用程序並建立
Visual Studio爲咱們提供了不少選擇,這裏選擇Web應用程序:
建立完成後項目結構以下:
在Visual Studio中按Ctrl+F5啓動Asp.Net Core項目:
Visual Studio已經自動添加的SSL證書,因此可使用https訪問。
以上就是Asp.Net Core項目建立過程,有關Asp.Net Core中的視圖、模型、路由、REST Api、架構等等後面再做介紹。
做爲後端框架,Django和Asp.Net Core都有着各自的優點,下面就分別介紹一下Django和Asp.Net Core的優點。
上面分別介紹了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如何上手和選擇,以上對比和選擇建議均是本人經驗和學習總結,若有不足還請指出。引用亮劍的一句話」不謀萬世者,不足謀一時;不謀全局者,不足謀一域「,想要爲企業作出最適合的選擇,不只對業務要十分精湛,還要對技術有足夠的認知。