开源web框架

It's getting to the point where there are so many cool open source projects that I can't keep up. When you add in the currently battle royale of JavaScript projects that are basically just hip sounding words with ".js" added to the end, it's a little overwhelming. Seriously, just pick a word out of the dictionary at random and that's the name of an up and coming JavaScript library.

到了这么多酷炫的开源项目,我无法跟上的地步。 当您添加当前JavaScript项目的战斗风格时,这些内容基本上只是时髦的发音,并在末尾添加了“ .js”,这有点让人不知所措。 认真地说,只是从字典中随机选择一个单词,这就是一个即将推出JavaScript库的名称。

JavaScript MVC框架和库 (JavaScript MVC Frameworks and Libraries )

This is an area that is very interesting but also very not-yet-baked. In the DOM manipulation and CSS selector space, jQuery won. That fight is over. The next big question is client side MVC frameworks. It seems everyone wants to make the next "Rails" framework on JavaScript and while there are some contenders, there's still lots of room for someone to "win."

这是一个非常有趣但尚未成熟的领域。 在DOM操作和CSS选择器领域,jQuery获得了胜利。 战斗结束了。 下一个大问题是客户端MVC框架。 似乎每个人都想在JavaScript上构建下一个“ Rails”框架,尽管有一些竞争者,但仍有很多人可以“取胜”。

DOM manipulation libraries like jQuery are important, but it's clear that making large and rich web applications requires more than just jQuery. More and more applications want smart asynchrony and dynamic loading.

像jQuery这样的DOM操作库很重要,但是很显然,制作大型而丰富的Web应用程序不仅需要jQuery,还需要更多。 越来越多的应用程序需要智能异步和动态加载。

(Reminder: All this IS overwhelming. That doesn't mean you need to know all these frameworks or feel bad that you don't know them all. Just accept that you DON'T know them all. Be OK with that.)

(提醒:这一切都是令人不知所措的。这并不意味着您需要了解所有这些框架,也不必为您不了解所有框架而感到难过。只需接受您不了解它们的全部。对此您可以接受。)

Here's the major players and ones you might want to be familiar with. Remember, these are client side libraries and while they often mention server-side frameworks like node or rails, these are things written in JavaScript that anyone can use.

以下是主要参与者以及您可能想要熟悉的参与者。 请记住,它们是客户端库,尽管它们经常提到服务器端框架,例如节点或导轨,但是这些都是用JavaScript编写的,任何人都可以使用。

  • Ember.js - Attempts to remove tedious boilerplate code. Includes a templating engine (no one will agree on just one), encourages an architecture where the browser does most of the work, supports state-management out of the box. Focus on computed properties, and templates that update themselves.

    Ember.js-尝试删除繁琐的样板代码。 包括一个模板引擎(没有人会同意一个),鼓励一种架构,其中浏览器可以完成大部分工作,支持开箱即用的状态管理。 专注于计算的属性和可自我更新的模板。

  • Underscore .js - A library of more than 60 functions to make JavaScript more fun and easier to use. Provides a layer that will use a modern browser's native implementation of a method while still supporting older browsers. Has iterators like each, map, reduce, etc. In a way, it's like LINQ for JavaScript.

    Underscore .js-一个包含60多个函数的库,使JavaScript更加有趣且易于使用。 提供一个层,该层将使用现代浏览器的方法的本机实现,同时仍支持较旧的浏览器。 具有类似每个的迭代器,映射,缩小等。在某种程度上,它类似于LINQ for JavaScript。

  • JavaScriptMVC - A jQuery-friendly framework that adds functional testing, MVC plugins, documentation generation, dependancy management and build tools.

    JavaScriptMVC-一个对jQuery友好的框架,其中添加了功能测试,MVC插件,文档生成,依赖管理和构建工具。

  • Spine.js - Seems like less than a Backbone (these libraries all play with each other's names). Introduces models and controllers, but for views, requires you use your own template engine. Intends to be super lightweight.

    Spine.js-似乎不如Backbone(这些库都使用彼此的名称)。 介绍了模型和控制器,但对于视图,要求您使用自己的模板引擎。 打算超轻量级。

  • Backbone.js - Everyone loves Backbone. It's the one you'll hear about the most. There's a large community supporting it. Folks have said that large applications can get a little hairy and difficult to manage, though. Lots of great docs and examples.

    Backbone.js-每个人都喜欢Backbone。 这是您最常听到的消息。 有一个庞大的社区支持它。 人们曾说过,大型应用程序可能会有些毛茸茸并且难以管理。 很多很棒的文档和示例。

  • Knockout.js - MVVM on the client rather than MVC. Lots of interesting client-side data-bind expressions. Rich documentation.

    Knockout.js-客户端上的MVVM,而不是MVC。 许多有趣的客户端数据绑定表达式。 丰富的文档。

    • And, wait for it, Knockback.js, a library that bridges the gaps between Knockout and Backbone and encourages you to use both effectively.

      并且,等待它, Knockback.js ,一个弥补Knockout与Backbone之间差距的库,鼓励您有效地使用两者。

    Knockout.js - MVVM on the client rather than MVC. Lots of interesting client-side data-bind expressions. Rich documentation.

    Knockout.js-客户端上的MVVM,而不是MVC。 许多有趣的客户端数据绑定表达式。 丰富的文档。

  • Sammy.js - A very small core library that brings in other adapters and plugins to give you just the parts you need. Focused on developer happiness. Works well with apps that are sitting on top of RESTful JSON server sides.

    Sammy.js-一个非常小的核心库,其中引入了其他适配器和插件,仅提供您所需的部件。 专注于开发人员的幸福感。 与位于RESTful JSON服务器端的应用程序很好地配合使用。

  • Angular.js - Includes templates, two-way data-binding and MVC, again, all on the client. Very small and starting to make a splash.

    Angular.js-再次在客户端上包括模板,双向数据绑定和MVC。 非常小,开始引起轰动。

  • SproutCore - SproutCore seems to be very complete and more prescriptive than other frameworks. It also has a focus on making apps on tablets and other devices. The NPR for Chrome app used them.

    SproutCore -SproutCore似乎非常完善,并且比其他框架更具规范性。 它还着重于在平板电脑和其他设备上制作应用程序。 NPR for Chrome应用使用了它们。

  • Cappuccino - If you like and think in Objective-C, you'll like Cappuccino and Objective-J. Cappuccino is kinda of Cocoa (Mac APIs) for the web.

    卡布奇诺咖啡-如果您喜欢并在Objective-C中思考,您会喜欢卡布奇诺咖啡和Objective-J。 卡布奇诺咖啡有点像可可(Mac API)。

  • Google Closure - Almost doesn't belong in the list as it's a very complete toolkit with a whole worldview, rich library, templates, and lots of extras. You can choose how much you want to embrace, though.

    Google Closure-几乎不属于该列表,因为它是一个非常完整的工具包,具有完整的世界观,丰富的库,模板以及许多其他功能。 不过,您可以选择要包含的数量。

  • ExtJS4 - This is a Sencha product and now on its fourth major release. It includes not only a framework and architecture but also widgets and charts.

    ExtJS4-这是一个Sencha产品,现在是其第四个主要版本。 它不仅包括框架和体系结构,还包括小部件和图表。

  • PureMVC - Another MVC on the client side implementation, but this one was ported from ActionScript. It was originally used on Adobe Air and the like.

    PureMVC-客户端实现上的另一个MVC,但这是从ActionScript移植的。 它最初用于Adobe Air等。

  • Batman.js - Bonus points for the best name. Explicitly embraces CoffeeScript as well as JavaScript. Only 2000 lines and very few extras. Very Rails friendly, prescriptive without being oppressive.

    Batman.js-奖励最佳名字。 明确包含CoffeeScript和JavaScript。 只有2000行,很少有其他功能。 非常Rails友好,说明性而又不压迫。

  • Require.js - A JavaScript file and module loader.

    Require.js-一个JavaScript文件和模块加载器。

  • PrefixFree.js - A nice library that expands all your CSS to use the explosion of vendor prefixes correctly.

    PrefixFree.js-一个不错的库,可扩展您的所有CSS以正确使用大量的供应商前缀。

  • Lawnchair.js - Client-side storage and persistence. Less than a couch, but smaller and outside.

    Lawnchair.js-客户端存储和持久性。 不到沙发,但更小而外面。

  • Mustache - Templates for views, explicitly without logic.

    小胡子-明确无逻辑的视图模板。

var view = {  title: "Joe",  calc: function () {    return 2 + 4;  }};

var output = Mustache.render("{{title}} spends {{calc}}", view);
  • Handlebars.js - An superset of the Mustache template concept with extra features. A fancier mustache. Ahem, "Handlebar Mustache."

    Handlebars.js-具有额外功能的Mustache模板概念的超集。 小胡子。 Ahem,“车把胡子”。

Also checkout Gordon Hempton's excellent "consumer reports" table on his blog that covers which JavaScript frameworks support which features.

还要在Gordon Hempton的博客上查阅Gordon Hempton出色的“消费者报告”表,其中涵盖了哪些JavaScript框架支持哪些功能。

ASP.NET库,框架和开源项目 (ASP.NET Libraries, Frameworks and Open Source Projects)

You may have heard that ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) are all now open source with contributions. They are up on CodePlex using Git. I thought I'd mention some interesting ASP.NET/CLR server side libraries here also as that's the area I work in.  There are thousands of Open Source projects in the .NET space, but I wanted to take a moment and feature these as they are all related and all emerging.

您可能已经听说ASP.NET MVC 4,ASP.NET Web API和ASP.NET Web Pages 2(Razor)现在都是开源的,并且有贡献。 他们使用Git在CodePlex上运行。 我以为我在这里提到了一些有趣的ASP.NET/CLR服务器端库,因为这是我从事的领域。.NET空间中有成千上万个开源项目,但是我想花点时间,并把它们作为特色。它们都是相关的,并且都在涌现。

Just like the JavaScript projects above, these .NET projects are all trying to innovate...trying to make something new and modern and compelling without sacrificing the good things about the past.

就像上面JavaScript项目一样,这些.NET项目都在尝试创新...在不牺牲过去美好事物的情况下,尝试制造出新颖而现代且引人注目的产品。

  • OWIN - This is the "open web interface for .net." It represents the "spec" of the web app function signature. It serves the same purpose as Rack spec on Ruby or WSGI on Python. "The goal of the OWIN interface is to decouple server and application, encourage the development of simple modules for .NET web development, and, by being an open standard, stimulate the open source ecosystem of .NET web development tools."

    OWIN-这是“ .net的开放式Web界面”。 它代表Web应用程序功能签名的“规范”。 它的作用与Ruby上的Rack规范或Python上的WSGI相同。 “ OWIN接口的目标是使服务器与应用程序脱钩,鼓励开发用于.NET Web开发的简单模块,并通过成为开放标准来刺激.NET Web开发工具的开源生态系统。”

  • Gate - An OWIN Reference implementation of utilities, host handlers, and web framework adapters for OWIN. This is essentially glue code, with things like Gate.Hosts.Kayak.dll on one hand, and Gate.Adapters.Nancy.dll on the other, to fit together your stack, e.g. "Kayak->Owin->Nancy"

    Gate -OWIN的实用程序,主机处理程序和Web框架适配器的OWIN参考实现。 这本质上是胶水代码,一方面像Gate.Hosts.Kayak.dll,另一方面像Gate.Adapters.Nancy.dll,以使您的堆栈适合在一起,例如“ Kayak-> Owin-> Nancy”

  • Nancy - A "Sinatra" inspired framework. "Nancy is a lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono. The goal of the framework is to stay out of the way as much as possible and provide a super-duper-happy-path to all interactions."

    南希- A“末日”的启发框架。 “ Nancy是一个轻量级,低礼仪的框架,用于在.Net和Mono上构建基于HTTP的服务。该框架的目标是尽可能避免出现障碍,并为所有人提供一条超级欢乐的道路。互动。”

  • Kayak - A 100% C# HTTP Server assembly that can be embedded in your project. "Kayak is an asynchronous HTTP server written in C#. It has been designed to be easy to embed into a variety of applications. Kayak natively supports the OWIN 1.0 Draft specification."

    Kayak-一种100%C#HTTP Server程序集,可以嵌入到您的项目中。 “ Kayak是用C#编写的异步HTTP服务器。它的设计易于嵌入到各种应用程序中。Kayak本身支持OWIN 1.0 Draft规范。”

  • Firefly - Another 100% C# HTTP server assembly.

    Firefly-另一个100%C#HTTP服务器程序集。

  • Manos - A 100% C# HTTP server in an assembly that is a part of a larger Manos web server + web framework bundle.

    Manos-程序集中的100%C#HTTP服务器,它是较大的Manos Web服务器+ Web框架包的一部分。

    (web frameworks with owin adapters:)

    (带有OWIN适配器的Web框架:)

  • AspNetWebApi - A framework optimized for HTTP APIs and services. Part of the open source ASP.NET Web Stack.

    AspNetWebApi-为HTTP API和服务优化的框架。 开源ASP.NET Web Stack的一部分。

  • SignalR -  A socket.io-like message bus that supports realtime communication over Web Sockets, long polling, forever frame, or server sent events. JavaScript and Server-side components.

    SignalR-一种类似于socket.io的消息总线,支持通过Web套接字,长轮询,永久帧或服务器发送的事件进行实时通信。 JavaScript和服务器端组件。

  • Fubu - A MVC-inspired framework with the beginnings of some OWIN support.

    福布-一个MVC风格与一些OWIN支持开端框架。

  • OpenRasta - A development framework for building web-based applications and services. Focused on being RESTful.

    OpenRasta-用于构建基于Web的应用程序和服务的开发框架。 专注于RESTful。

There is no question that I've missed some. Leave them in the comments and I'll keep this post updated. Projects for this list should be of some renown and be pushing the envelope in some notable way.

毫无疑问,我已经错过了一些。 将其保留在评论中,我将使该帖子保持最新。 此列表的项目应享有一定声誉,并以某种显着方式推动发展。

Big thanks to Louis DeJardin for his help and bootstrapping the list.

非常感谢Louis DeJardin的帮助和帮助。

翻译自: https://www.hanselman.com/blog/the-big-glossary-of-open-source-javascript-and-web-frameworks-with-cool-names

开源web框架

开源web框架_带有酷名称的开源JavaScript和Web框架的词汇表相关推荐

  1. jenkins+python+git自动化测试框架_使用jenkins + python + selenium一步步搭建web自动化测试“框架”(1) - 各部件简介...

    原先搭建过一个自动化测试框架,迷迷糊糊不求甚解,算是搭建了一个仅限于能用的.根本算不上框架的玩意儿. 现在回过头来好好看看究竟每一步是怎么联系起来的,是怎么运行起来的. 本次博客先说说各部件都是干什么 ...

  2. mysql开源系协议_常见的几种开源协议

    在学习中经常能看到一些词,例如:GPL,LGPL等等,自打上学那会就遇见过,对它们的具体含义却不了解,今天给它们总结一下. 说到开源协议,不得不提GNU.课本上给的定义是"GNU is No ...

  3. 开源贡献 计算_如何克服恐惧并为开源做贡献

    开源贡献 计算 Are you a new developer? Or maybe even just an old-timer who has been in a company for ten y ...

  4. java轻量分布式框架_推荐5个强大的Java分布式缓存框架

    在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的缓存策略,那么到时候重构起来将会是一个噩梦.动宝儿为了帮助大家 ...

  5. python web应用_如何使用Python将通知发送到Web应用

    python web应用 by Lucas Hild 卢卡斯·希尔德(Lucas Hild) 如何使用Python将通知发送到Web应用 (How to send notifications to y ...

  6. 开源贡献 计算_学生如何开始为开源软件做贡献

    开源贡献 计算 作为一名学生,参与开源是提高编程技能的好方法. 根据我的经验,它甚至可以帮助您开始事业. 但是你从哪里开始呢? 您如何参与其中? 我在高中时代开始了我的开源之旅,那时我有很多空闲时间( ...

  7. qq浏览器开源播放器_使用极简的开源Web浏览器Min浏览网络

    qq浏览器开源播放器 世界是否需要其他Web浏览器? 尽管拥有多种浏览器供选择的日子已经一去不复返了,但是仍然有很多人在开发可以帮助我们使用Web的新应用程序. Min是这些新型浏览器之一. 顾名思义 ...

  8. python3 web框架_循序渐进Python3(十二) --0--  web之框架

    上述通过socket来实现了其本质,而对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序.服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据 ...

  9. wpf mysql 框架_带有 WPF 和实体框架6的简单数据应用 - Visual Studio | Microsoft Docs

    使用 WPF 和 Entity Framework 6 创建简单的数据应用程序Create a simple data application with WPF and Entity Framewor ...

最新文章

  1. mysql cert_Mysql使用SSL连接
  2. 第三十课.向量胶囊与动态路由
  3. docker删除所有容器_如何在Linux上创建,列出和删除Docker容器
  4. centOS+uwsgi+nginx 部署flask项目,问题记录
  5. 【重复制造精讲】3、成本收集
  6. android listview 横向滚动,Android支持水平滚动的ListView控件
  7. TeamViewer远程访问
  8. HDU6218 2017ACM/ICPC亚洲区沈阳站 Bridge(Set,线段树)
  9. HTML荧光文字动态效果,html – 在CSS中的笔荧光笔效果
  10. 【Vue】—计算属性缓存VS方法以及侦听器的区别
  11. NP、OSPF虚链路
  12. 清华大学刘云浩教授——人工智能打开了潘多拉的盒子吗?
  13. BoundsChecker检查内存泄露 使用步骤
  14. 在线作图 grapheditor
  15. xp系统禁用wmi服务器,windows xp系统启用WMI服务的方法
  16. 分子结构的立体图怎么画?
  17. JAVA相关基础知识
  18. SDCard权限设置
  19. linux执行scp命令出错
  20. 网站商务BD(Bussiness Development--商务拓展)

热门文章

  1. spring定时任务cron为每季度第一个工作日转换为cron表达式
  2. FontAwesome for Axure字体图标合集 v4.7 — v5.8 含Free版和Pro版
  3. 云计算day04-Docker容器
  4. Three.js从入门到放弃
  5. python生成二维码教程_使用Python生成个性二维码
  6. 算法:找出1-10000之间的所有素数
  7. 第二节课20180908
  8. 《Effective Python 编写高质量Python代码的59个有效方法》读书笔记
  9. word恢复忘记保存的文档
  10. 考研计算机专业的优点和缺点,领航考研:跨专业考研优缺点分析