Django上手體驗,對比Asp.Net Core框架

1、前言

最近常常據說「人生苦短,我選python」這句話,處於好奇,筆者對python相關技術和web框架作了一番研究,本篇就對python web框架表明做Django和微軟主打web框架Asp.Net Core做一些介紹和對比。前端

什麼是Django

Django是使用python語言開發的一套web框架,主要用於網站後臺和Api開發。因爲python語言簡潔的特性,使用Django框架開發網站是十分輕鬆的事,其中不少開發風格與Node Js類似,也是僅次於Spring boot、NodeJs的熱門後端框架。Django出現至今已經十多年了,可是真正流行仍是依靠近幾年Python的迅速崛起。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框架中也是十分流行。web

2、如何使用Django

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

建立Django

Step1:安裝python

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

安裝完成後在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的視圖、模型和路由操做後面再詳細介紹。

3、如何使用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、架構等等後面再做介紹。

4、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是最好的選擇。

5、如何選擇

上面分別介紹了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等來講不只提升效率,更加能夠靈活的控制業務打造平臺級產品。

6、總結

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

相關文章
相關標籤/搜索