大約十年前,當(dāng)物聯(lián)網(wǎng)( IoT )還處于起步階段時(shí),只有少數(shù)愛好者在探索物聯(lián)網(wǎng)的發(fā)展。如今,人們對(duì)物聯(lián)網(wǎng)越來(lái)越感興趣,有些人自己建造物聯(lián)網(wǎng)設(shè)備供家庭使用,而另一些人則利用工業(yè)物聯(lián)網(wǎng)( IIoT )來(lái)提高制造設(shè)施效率。
除了可用的不同組件外,人們對(duì)構(gòu)建物聯(lián)網(wǎng)設(shè)備的興趣也在不斷增長(zhǎng),促使了各種物聯(lián)網(wǎng)解決方案平臺(tái)的開發(fā)。其中一些平臺(tái)已經(jīng)過(guò)時(shí),而另一些則正在積極使用中。
微軟.NET平臺(tái)就是一個(gè)經(jīng)驗(yàn)豐富且能夠跟上物聯(lián)網(wǎng)發(fā)展趨勢(shì)的例子。亞馬遜、eBay、戴爾、埃森哲以及其他科技巨頭都在與.NET合作,因?yàn)槠渫ㄓ眯院妥吭叫阅?mdash;—物聯(lián)網(wǎng)軟件開發(fā)的兩個(gè)非常重要特征。讓我們來(lái)看看為什么物聯(lián)網(wǎng)和.NET的結(jié)合會(huì)有如此功效。
1、Windows 10 IoT Core
因?yàn)?NET的推出得益于微軟,它與Windows 10 IOT Core完全兼容是有道理的。基于Windows 10的嵌入式系統(tǒng)操作系統(tǒng)(OS)于2015年發(fā)布,它專門設(shè)計(jì)用于在樹莓派2和3、Dragonboard 410c和MinnowBoard MAX等低功耗大眾設(shè)備上運(yùn)行。更重要的是,它是免費(fèi)的。
Windows 10 IoT Core配備了一個(gè)便捷的工具包和大量集成選項(xiàng),這得益于的通用Windows平臺(tái)(UWP),以及VisualStudio和Azure云平臺(tái)。
.NET Core和UWP將幫助您為Windows 10 IoT Core構(gòu)建出色的物聯(lián)網(wǎng)應(yīng)用,并為您帶來(lái)流暢舒適的用戶體驗(yàn)(UX)。不過(guò),您將無(wú)法使用Windows 10 IoT Core和某些.NET實(shí)現(xiàn)復(fù)雜的工業(yè)物聯(lián)網(wǎng)(IIoT)系統(tǒng),但至少您可以做一些有趣的事情,比如定制恒溫器或者定制您的門鈴。
2、ASP.NET Core
除非過(guò)去幾年您一直生活在山洞里,否則您應(yīng)該知道ASP.NET Core,ASP.NET Core是一個(gè)開源的、具有跨平臺(tái)能力的 Web 開發(fā)框架。我們必須說(shuō),它是一個(gè)非常流行的框架,它使.NET開發(fā)人員能夠輕松地創(chuàng)建引人注目的Web應(yīng)用,它也適用于物聯(lián)網(wǎng)應(yīng)用。使用工具集中的Windows 10 IoT和ASP.NET Core,您可以構(gòu)建良好的應(yīng)用程序或后臺(tái)運(yùn)行服務(wù),并在您的物聯(lián)網(wǎng)設(shè)備上運(yùn)行它們。
ASP.NET Core提供了一個(gè)豐富的工具箱,支持多種編程語(yǔ)言(C#、Visual Basic、F#),部署快速,具有強(qiáng)大安全性和開箱即用特點(diǎn),并輕松實(shí)現(xiàn)云集成——這正是您物聯(lián)網(wǎng)項(xiàng)目所需要的。換句話說(shuō),一切皆有可能。
說(shuō)起一切皆有可能,您可以自由選擇適用于您應(yīng)用程序的任何云平臺(tái),比如Microsoft Azure、AWS、Google Cloud IoT等等。ASP.NET Core很容易在云中部署,您甚至可以部署一個(gè)與開發(fā)過(guò)程中使用完全相同.NET運(yùn)行時(shí)的應(yīng)用程序。這意味著您會(huì)遇到更少由環(huán)境差異導(dǎo)致的奇怪錯(cuò)誤。
3、Microsoft Azure
Microsoft Azure被公認(rèn)為最佳的企業(yè)級(jí)平臺(tái)之一,它非常適合物聯(lián)網(wǎng)用戶的奇思妙想。微軟提供了Azure IoT平臺(tái)和IoT加速器以及數(shù)據(jù)存儲(chǔ)和恢復(fù)服務(wù)。Azure的靈活性、互操作性、安全性和分析能力對(duì)于物聯(lián)網(wǎng)開發(fā)人員來(lái)說(shuō)都是非常重要的。
這個(gè)可靠而安全的云平臺(tái)提供了多種服務(wù)。需要在Azure儀表板中設(shè)置應(yīng)用程序或運(yùn)行時(shí),只需單擊幾下鼠標(biāo),即可輕松地在云中部署。微軟的高級(jí)工程師們不斷致力于為Azure增加有用功能并提供必要的更新。
4、 .NET現(xiàn)成解決方案
在互聯(lián)網(wǎng)上,您很少會(huì)遇到您的代碼沒有被發(fā)布或被解決的問(wèn)題,這就是為什么.NET鼓勵(lì)開發(fā)人員節(jié)省時(shí)間來(lái)使用現(xiàn)成解決方案的原因。因此,如果您的物聯(lián)網(wǎng)解決方案遇到問(wèn)題,那么很可能已經(jīng)有人解決了這個(gè)問(wèn)題,并在GitHub或Bitbucket上發(fā)布了代碼,他們只是耐心等待您按下“Ctrl C Ctrl V”的組合鍵。
撇開笑話不談,像.NET這樣的大社區(qū)會(huì)產(chǎn)生大量可重用代碼,它可以大大加快您的物聯(lián)網(wǎng)應(yīng)用程序開發(fā),更不用說(shuō).NET Framework類庫(kù)了。如果項(xiàng)目的最后期限是明天,而您還沒有解決辦法,那么.NET可能是您今天唯一選擇了。
5、大型.NET社區(qū)
如果您曾經(jīng)在StackOverflow上尋找過(guò)答案,您肯定知道擁有一個(gè)隨時(shí)準(zhǔn)備樂(lè)于助人的社區(qū)是多么重要。對(duì)我們來(lái)說(shuō)很幸運(yùn),.NET擁有這樣一個(gè)社區(qū)。 .NET開發(fā)人員的數(shù)量超過(guò)了200萬(wàn),也就是說(shuō)有200萬(wàn)人愿意與您分享他們的經(jīng)驗(yàn)和討論富有挑戰(zhàn)性的問(wèn)題。這也是為什么它比在線客服更好的原因:在一個(gè)社區(qū)里,來(lái)自世界各地?cái)?shù)千名具有實(shí)踐經(jīng)驗(yàn)的專業(yè)開發(fā)人員,能夠快速回答問(wèn)題,并同時(shí)提供多種解決方案,幫助成千上萬(wàn)經(jīng)驗(yàn)不足的物聯(lián)網(wǎng)同行。
就像許多其他軟件開發(fā)社區(qū)一樣,.NET 社區(qū)通常掛在StackOverflow和Github上。在那里您可以提出問(wèn)題,搜索答案,并找到預(yù)先編寫的代碼。您還可以從微軟和更大的社區(qū)中找到一些.NET開源軟件項(xiàng)目,其中包括屬于.NET 基金會(huì)的開源項(xiàng)目。此外,還有微軟官方的.NET和ASP.NET網(wǎng)絡(luò)社區(qū)以及關(guān)注.NET的Twitter賬號(hào),以便您第一時(shí)間獲得最熱門的開發(fā)技巧。
總結(jié)
.NET在市場(chǎng)上已經(jīng)有很長(zhǎng)時(shí)間了,與其他平臺(tái)不同的是,這使得它更加先進(jìn)和流行。它的開發(fā)服務(wù)和先進(jìn)工具集,以及它的開源方式和強(qiáng)大社區(qū)支持,使.NET平臺(tái)成為創(chuàng)建物聯(lián)網(wǎng)應(yīng)用的絕佳環(huán)境。
用.NET Core在MacOS和Linux上工作,沒有什么能阻止您實(shí)現(xiàn)最瘋狂的物聯(lián)網(wǎng)夢(mèng)想。您還在等什么?