知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 網(wǎng)站建設(shè) >
Web應(yīng)用框架匯總
發(fā)表時(shí)間:2018-3-5
發(fā)布人:葵宇科技
瀏覽次數(shù):48
Web應(yīng)用框架(Web application framework)是一種開發(fā)框架,用來支持動(dòng)態(tài)網(wǎng)站、網(wǎng)絡(luò)應(yīng)用程序及網(wǎng)絡(luò)服務(wù)的開發(fā)。其類型有基于請(qǐng)求的和基于組件的兩種框架,Web應(yīng)用框架有助于減輕網(wǎng)頁開發(fā)時(shí)共通性活動(dòng)的工作負(fù)荷,例如許多框架提供數(shù)據(jù)庫訪問接口、標(biāo)準(zhǔn)樣板以及會(huì)話管理等,可提升代碼的可再用性。
PHP
Zend framework CakePHP Yii ThinkPHP symfony kohanaphp Seagull Drupal CodeIgniterjavascript
jQuery MooTools prototype dojo zk Backbone.js SproutCore Sammy.js Spine.js Cappuccino Knockout.js Javascript MVC GWT(Google Web Toolkit) Google Closure Ember.js Angular.js Batman.js ExtJSPython
django pinax Grok Pylons TurboGears web2py Zope Quixote snakelets snakelets PylonsHQ TornadoRuby
Ruby style="margin-top:0px;margin-bottom:0px;padding:0px;font-size:18px;color:rgb(51,51,51);font-weight:400;">.net mvc 三層 nhibernateJAVA
Spring Hibernate Grails Tapestry ZK SpringMVC Struts2 Struts Mybatis分布式緩存框架:
Microsoft Velocity:微軟自家分布式緩存服務(wù)框架。
Memcahed:一套分布式的高速緩存系統(tǒng),目前被許多網(wǎng)站使用以提升網(wǎng)站的訪問速度。
Redis:是一個(gè)高性能的KV數(shù)據(jù)庫。 它的出現(xiàn)很大程度補(bǔ)償了Memcached在某些方面的不足。
EnyimMemcached:訪問Memcached最優(yōu)秀的.NET客戶端,集成不錯(cuò)的分布式均衡算法。
開源的.NET系統(tǒng)推薦:
OXITE:微軟ASP.NET MVC案例演示框架。
PetShop:微軟ASP.NET寵物商店。
Orchard:國外一個(gè)MVC開源的博客系統(tǒng)。
SSCLI:微軟在NET Framework 2.0時(shí)代的開源代碼。
DasBlog:國外一個(gè)基于ASP.NET的博客系統(tǒng)。
BlogEngine.NET:國外一款免費(fèi)開源的博客系統(tǒng)。
Dotnetnuke.NET:一套非常優(yōu)秀的基于ASP.NET的開源門戶網(wǎng)站程序。
Discuz.NET:國內(nèi)開源的論壇社區(qū)系統(tǒng)。
nopCommerce和Aspxcommerce:國外一套高質(zhì)量的開源B2C網(wǎng)站系統(tǒng)。
JumboTCMS和DTCMS:國內(nèi)兩款開源的網(wǎng)站管理系統(tǒng):
日志記錄異常處理:
Log4Net.dll:輕量級(jí)的免費(fèi)開源.NET日志記錄框架。
Enterprise Library Log Application Black:微軟企業(yè)庫日志記錄。
Elmah:實(shí)現(xiàn)最流行的ASP.NET應(yīng)用異常日志記錄框架。
NLog:是一個(gè)簡(jiǎn)單靈活的日志記錄類庫,性能比Log4Net高,使用和維護(hù)難度低。
關(guān)于NoSQL數(shù)據(jù)庫:
Mongodb:分布式文件存儲(chǔ)數(shù)據(jù)庫。
Membase:家族的一個(gè)新的重量級(jí)的成員。
自動(dòng)任務(wù)調(diào)度框架
Quartz.NET:開源的作業(yè)調(diào)度和自動(dòng)任務(wù)框架。
Topshelf:另一種創(chuàng)建Windows服務(wù)的開源框架
依賴注入IOC容器框架:
Unity:微軟patterns&practicest團(tuán)隊(duì)開發(fā)的IOC依賴注入框架,支持AOP橫切關(guān)注點(diǎn)。
MEF(Managed Extensibility Framework):是一個(gè)用來擴(kuò)展.NET應(yīng)用程序的框架,可開發(fā)插件系統(tǒng)。
Spring.NET:依賴注入、面向方面編程(AOP)、數(shù)據(jù)訪問抽象,、以及ASP.NET集成。
Autofac:最流行的依賴注入和IOC框架,輕量且高性能,對(duì)項(xiàng)目代碼幾乎無任何侵入性。
PostSharp:實(shí)現(xiàn)靜態(tài)AOP橫切關(guān)注點(diǎn),使用簡(jiǎn)單,功能強(qiáng)大,對(duì)目標(biāo)攔截的方法無需任何改動(dòng)。
Ninject:基于.NET輕量級(jí)開源的依賴注入IOC框架
常用的幾個(gè)ORM框架:
EF(ADO.NET Entity Framework):微軟基于ADO.NET開發(fā)的ORM框架。
Nhibernate:面向.NET環(huán)境的輕量級(jí)的ORM框架。
SqlMapper.cs:用于小項(xiàng)目的通用的C#數(shù)據(jù)庫訪問類。
AutoMapper:流行的對(duì)象映射框架,可減少大量硬編碼,很小巧靈活,性能表現(xiàn)也可接受。
SubSonic:優(yōu)秀的開源的ORM映射框架,同時(shí)提供符合自身需要的代碼生成器。
FluentData:開源的基于Fluent API的鏈?zhǔn)讲樵僌RM輕量級(jí)框架。
Dapper:輕量級(jí)高性能基于EMIT生成的ORM框架。
EmitMapper:性能較高的ORM框架,運(yùn)行時(shí)通過EMIT動(dòng)態(tài)生成IL代碼,并非采用反射機(jī)制。
格式和數(shù)據(jù)類型轉(zhuǎn)換
Newtonsoft.Json:目前.NET開發(fā)中最流行的JSON序列化庫,為新版的WebApi庫提供基礎(chǔ)。
System.JSON.dll:微軟自己開發(fā)的JSON序列化組件(需要單獨(dú)下載)
DataContractJsonSerializer 和 DataContractXmlSerializer:微軟在WCF中使用的序列化器。
JavaScriptSerializer:微軟默認(rèn)針對(duì)WEB開發(fā)者提供的JSON格式化器。
iTextSharp、PDFsharp 和 PDF.NET:通過.NET處理和生成PDF文檔的組件。
SharpZipLib.dll:免費(fèi)開源的ZIP和GZIP文件解壓縮組件。
Math.NET:強(qiáng)大的數(shù)學(xué)運(yùn)算、微積分、解方程和科學(xué)運(yùn)算。
DocX:不需要安裝word軟件,通過C#操作word文件。
SharpSerializer:開源XML和、二進(jìn)制、JSON、壓縮和優(yōu)化框架。
反射和動(dòng)態(tài)語言
Clay dynamic:開源的動(dòng)態(tài)語言dynamic框架讓您形如javascript的方式創(chuàng)建對(duì)象。
ExposedObject:在類的外部通過動(dòng)態(tài)語言dynamic的方式訪問私有成員。
PrivateObject:微軟單元測(cè)試框架中便捷在外部調(diào)用類內(nèi)部私有成員的一個(gè)類。
跨平臺(tái)和運(yùn)行時(shí)解決方案
MONO.NET:跨平臺(tái)的.NET運(yùn)行環(huán)境,讓.NET跨平臺(tái)運(yùn)行成為可能。
DotGnu Portable.NET:類似于MONO.NET的跨平臺(tái)運(yùn)行時(shí)。
Phalanger:將PHP編譯成.NET,可實(shí)現(xiàn)PHP與.NET互操作。
VMDotNet:中國移動(dòng)飛信所使用過的.NET運(yùn)行時(shí)。
Unity3D:微軟大力支持的機(jī)遇C#和JavaScript的跨平臺(tái)游戲開發(fā)框架。
Cassini、IIS Express和Cassinidev:開源的ASP.NET執(zhí)行環(huán)境。
Katana:微軟基于OWIN規(guī)范實(shí)現(xiàn)的非IIS寄宿ASP.NET和MVC等。
IKVM.NET:基于.NET的JAVA虛擬機(jī),讓JAVA運(yùn)行在.NET之上。
WEB開發(fā)和設(shè)計(jì)
Jumony Core:基于.NET開發(fā)的HTML引擎。
Microsoft.mshtml.dll、Winista.HtmlParser.dll 和 HtmlAgilityPack.dll:解析處理HTML文檔的框架。
JavaScript.NET和ClearScript(微軟出品):基于.NET開發(fā)的JavaScript引擎。
NCrawler:其HTML處理引擎htmlagilitypack的的開源網(wǎng)絡(luò)爬蟲軟件。
AntiXSS:微軟官方預(yù)防跨站XSS腳本入侵攻擊的開源類庫,它通過白名單機(jī)制進(jìn)行內(nèi)容編碼。
YUICompressor.NET、Microsoft Ajax Minifier 和 Google Closure Compiler:JavaScrip和CSS壓縮器。
NancyFx:是一個(gè)不錯(cuò)的輕量級(jí)開源.NET WEB框架。如果想快速做個(gè)簡(jiǎn)單的WEB應(yīng)用。
AspNetPager:國內(nèi)知名的ASP.NET分頁控件,支持多種分頁方式。
NOPI.dll:導(dǎo)出Excel報(bào)表的插件(基于微軟OpenXml實(shí)現(xiàn))(nopi.css.dl通過css設(shè)置樣式)
Enterprise Library:微軟針對(duì)企業(yè)級(jí)應(yīng)用開發(fā)的最佳實(shí)踐組件。
PowerCollections:國外一個(gè)牛人寫的高級(jí)開源集合。
移動(dòng)互聯(lián)網(wǎng)和云計(jì)算
PushSharp:通過.NET向各種移動(dòng)平臺(tái)推送消息。
mono for android:用.NET語言開發(fā)安卓應(yīng)用:
MonoTouch:用.NET語言開發(fā)IOS應(yīng)用。
PhoneGap和AppCan:跨平臺(tái)基于HTML5的移動(dòng)開發(fā)平臺(tái)。
Cordova:PhoneGap貢獻(xiàn)給Apache后的開源項(xiàng)目,是驅(qū)動(dòng)PhoneGap的核心引擎。
網(wǎng)絡(luò)通信和網(wǎng)絡(luò)協(xié)議
SuperSocket:基于.NET輕量級(jí)的可擴(kuò)展的Socket開發(fā)框架。
SuperWebSocket:通過.NET實(shí)現(xiàn)TML5 WebSocket框架。
XProxy:支持插件的基礎(chǔ)代理程序集,內(nèi)置NAT、加解密、反向、直接和間接代理。
圖形和圖像處理框架
Paint.NET:基于.NET小巧靈活強(qiáng)大的圖形處理開源項(xiàng)目。
Imagemagick.NET:用C#對(duì)開源圖像處理組件Imagemagick的封裝。
Skimpt:基于.NET開源的屏幕截圖軟件。
ImageGlue.NET:商業(yè)的圖像處理組件,支持的格式列了一大堆。
Sprite and Image Optimization Framework:微軟CSS精靈,多圖合成一張大圖和CSS樣式。
桌面應(yīng)用程序框架
DevExpress:一個(gè)全球知名的桌面應(yīng)用程序UI控件庫。
Prism:微軟開發(fā)的針對(duì)WPF和Silverlight的MVVM框架,通過功能模塊化的思想,來講復(fù)雜的業(yè)務(wù)功能和UI耦合性進(jìn)行分離。
WPFToolkit 和 Fluent Ribbon Control Suite:開發(fā)類似于Office風(fēng)格的Ribbon菜單。
測(cè)試和性能評(píng)估方面
Faker.Net:方便生成大批量測(cè)試數(shù)據(jù)的框架。
Nunit:一個(gè)輕量級(jí)的單元測(cè)試框架。
Moq:非常流行的Mock框架,支持LINQ,靈活且高性能。
xUnit:比NUnit更好的單元測(cè)試框架,升級(jí)改進(jìn)版的Nunit框架。
MiniProfiler和Glimpse:基于MVC的兩款性能事件監(jiān)控框架。
事務(wù)和分布式事務(wù)支持
KtmIntegration:一個(gè)支持NTFS文件系統(tǒng)的事務(wù)開源類。
NET Transactional File Manager:對(duì)文件系統(tǒng)操作(復(fù)制、移動(dòng)和刪除)加入事務(wù)支持。
分詞、全文檢索和搜索引擎
Lucene.net:流行高性能的全文索引庫,可用于為各類信息提供強(qiáng)大的搜索功能。
Lucene.Net.Analysis.PanGu:支持Lucene.Net最新版的盤古中文分詞擴(kuò)展庫。
數(shù)據(jù)驗(yàn)證組件整理
FluentValidation for .NET:基于LINQ表達(dá)式方法鏈Fluent接口驗(yàn)證組件。
Microsoft.Practices.EnterpriseLibrary.Validation.dll:微軟企業(yè)庫驗(yàn)證程序塊。
CuttingEdge.Conditions:基于Fluent接口方法練接口的契約編程組件。
DotNetOpenAuth:讓網(wǎng)站具備支持OpenID、OAuth、InfoCard等身份驗(yàn)證的能力。
開源圖表統(tǒng)計(jì)控件:
Visifire:一套效果非常好的WPF圖表控件,支持3D繪制、曲線、折線、扇形、環(huán)形和梯形。
SparrowToolkit:一套WPF圖表控件集,支持繪制動(dòng)態(tài)曲線,可繪制示波器、CPU使用率和波形。
DynamicDataDisplay:微軟開源的WPF動(dòng)態(tài)曲線圖,線圖、氣泡圖和熱力圖。
可以擴(kuò)充消息隊(duì)列類別,如:Kafka是一種分布式的,基于發(fā)布/訂閱的消息系統(tǒng)。主要設(shè)計(jì)目標(biāo)如下:
以時(shí)間復(fù)雜度為O(1)的方式提供消息持久化能力,即使對(duì)TB級(jí)以上數(shù)據(jù)也能保證常數(shù)時(shí)間復(fù)雜度的訪問性能。
高吞吐率。即使在非常廉價(jià)的商用機(jī)器上也能做到單機(jī)支持每秒100K條以上消息的傳輸。
支持Kafka Server間的消息分區(qū),及分布式消費(fèi),同時(shí)保證每個(gè)Partition內(nèi)的消息順序傳輸。
同時(shí)支持離線數(shù)據(jù)處理和實(shí)時(shí)數(shù)據(jù)處理。
Scale out:支持在線水平擴(kuò)展。
RabbitMQ
RabbitMQ是使用Erlang編寫的一個(gè)開源的消息隊(duì)列,本身支持很多的協(xié)議:AMQP,XMPP, SMTP, STOMP,也正因如此,它非常重量級(jí),更適合于企業(yè)級(jí)的開發(fā)。同時(shí)實(shí)現(xiàn)了Broker構(gòu)架,這意味著消息在發(fā)送給客戶端時(shí)先在中心隊(duì)列排隊(duì)。對(duì)路由,負(fù)載均衡或者數(shù)據(jù)持久化都有很好的支持。
Redis
Redis是一個(gè)基于Key-Value對(duì)的NoSQL數(shù)據(jù)庫,開發(fā)維護(hù)很活躍。雖然它是一個(gè)Key-Value數(shù)據(jù)庫存儲(chǔ)系統(tǒng),但它本身支持MQ功能,所以完全可以當(dāng)做一個(gè)輕量級(jí)的隊(duì)列服務(wù)來使用。對(duì)于RabbitMQ和Redis的入隊(duì)和出隊(duì)操作,各執(zhí)行100萬次,每10萬次記錄一次執(zhí)行時(shí)間。測(cè)試數(shù)據(jù)分為128Bytes、512Bytes、1K和10K四個(gè)不同大小的數(shù)據(jù)。實(shí)驗(yàn)表明:入隊(duì)時(shí),當(dāng)數(shù)據(jù)比較小時(shí)Redis的性能要高于RabbitMQ,而如果數(shù)據(jù)大小超過了10K,Redis則慢的無法忍受;出隊(duì)時(shí),無論數(shù)據(jù)大小,Redis都表現(xiàn)出非常好的性能,而RabbitMQ的出隊(duì)性能則遠(yuǎn)低于Redis。
ZeroMQ
ZeroMQ號(hào)稱最快的消息隊(duì)列系統(tǒng),尤其針對(duì)大吞吐量的需求場(chǎng)景。ZeroMQ能夠?qū)崿F(xiàn)RabbitMQ不擅長的高級(jí)/復(fù)雜的隊(duì)列,但是開發(fā)人員需要自己組合多種技術(shù)框架,技術(shù)上的復(fù)雜度是對(duì)這MQ能夠應(yīng)用成功的挑戰(zhàn)。ZeroMQ具有一個(gè)獨(dú)特的非中間件的模式,你不需要安裝和運(yùn)行一個(gè)消息服務(wù)器或中間件,因?yàn)槟愕膽?yīng)用程序?qū)缪葸@個(gè)服務(wù)器角色。你只需要簡(jiǎn)單的引用ZeroMQ程序庫,可以使用NuGet安裝,然后你就可以愉快的在應(yīng)用程序之間發(fā)送消息了。但是ZeroMQ僅提供非持久性的隊(duì)列,也就是說如果宕機(jī),數(shù)據(jù)將會(huì)丟失。其中,Twitter的Storm 0.9.0以前的版本中默認(rèn)使用ZeroMQ作為數(shù)據(jù)流的傳輸(Storm從0.9版本開始同時(shí)支持ZeroMQ和Netty作為傳輸模塊)。
ActiveMQ
ActiveMQ是Apache下的一個(gè)子項(xiàng)目。 類似于ZeroMQ,它能夠以代理人和點(diǎn)對(duì)點(diǎn)的技術(shù)實(shí)現(xiàn)隊(duì)列。同時(shí)類似于RabbitMQ,它少量代碼就可以高效地實(shí)現(xiàn)高級(jí)應(yīng)用場(chǎng)景。
Kafka/Jafka
Kafka是Apache下的一個(gè)子項(xiàng)目,是一個(gè)高性能跨語言分布式發(fā)布/訂閱消息隊(duì)列系統(tǒng),而Jafka是在Kafka之上孵化而來的,即Kafka的一個(gè)升級(jí)版。具有以下特性:快速持久化,可以在O(1)的系統(tǒng)開銷下進(jìn)行消息持久化;高吞吐,在一臺(tái)普通的服務(wù)器上既可以達(dá)到10W/s的吞吐速率;完全的分布式系統(tǒng),Broker、Producer、Consumer都原生自動(dòng)支持分布式,自動(dòng)實(shí)現(xiàn)負(fù)載均衡;支持Hadoop數(shù)據(jù)并行加載,對(duì)于像Hadoop的一樣的日志數(shù)據(jù)和離線分析系統(tǒng),但又要求實(shí)時(shí)處理的限制,這是一個(gè)可行的解決方案。Kafka通過Hadoop的并行加載機(jī)制統(tǒng)一了在線和離線的消息處理。Apache Kafka相對(duì)于ActiveMQ是一個(gè)非常輕量級(jí)的消息系統(tǒng),除了性能非常好之外,還是一個(gè)工作良好的分布式系統(tǒng)。
相關(guān)案例查看更多
相關(guān)閱讀
- 云南科技公司
- 微信分銷系統(tǒng)
- 云南省建設(shè)廳網(wǎng)站官網(wǎng)
- 小程序被攻擊
- 報(bào)廢車拆解軟件
- 分銷系統(tǒng)
- 報(bào)廢車回收管理系統(tǒng)
- 網(wǎng)站制作哪家好
- 小程序
- 云南小程序定制
- 重慶網(wǎng)站建設(shè)公司
- 云南網(wǎng)站建設(shè)制作
- 微信小程序
- 搜索引擎優(yōu)化
- 網(wǎng)絡(luò)公司電話
- web開發(fā)
- 小程序表單
- 小程序公司
- 云南網(wǎng)絡(luò)營銷顧問
- 百度自然排名
- 網(wǎng)絡(luò)營銷
- 支付寶小程序被騙
- 網(wǎng)站建設(shè)快速優(yōu)化
- 汽車報(bào)廢
- 生成海報(bào)
- 出入小程序
- 軟件定制
- 開通微信小程序被騙
- 網(wǎng)站維護(hù)
- 云南電商網(wǎng)站建設(shè)