Web前端开发必备的开源框架有哪些

html-css015

Web前端开发必备的开源框架有哪些,第1张

今天小编要跟大家分享的文章是关于Web前端开发必备的开源框架有哪些。大多数人想到Web开发时,通常会想到HTML或JavaScript,往往忽略了CSS,根据Wikipedia的说法,CSS既是网页中最重要也是最常被遗忘的部分之一,尽管它是万维网的三大基础技术之一。

今天就和大家分享9个流行的、强大的前端开源框架,帮助你轻松构建漂亮的网站前端。下面来和小编一起看一看吧!

1、Bootstrap

Bootstrap无疑是最流行的CSS框架,它是最早的Web前端框架,由Twitter开发。Bootstrap还提供了许多示例来帮助你入门。

使用Bootstrap,你可以将不同的组件和布局组合在一起,从而创建有趣的页面设计。它还提供了大量详细的文档。目前在Github上已经有1100多个贡献者,19000多个提交。(Github地址:https://github.com/twbs/bootstrap)

2、PatternFly

PatternFly是Red

Hat的开源CSS框架,和Bootstrap不同的是,Bootstrap是为那些想要创建漂亮网站的人而设计的,而PatternFly主要专注于企业应用程序开发人员,提供诸如条形图、图表、导航之类的组件,实际上Red

Hat就是使用它创建了OpenShift。

除了静态HTML,PatternFly还支持ReactJS框架,这是Facebook开发的流行JavaScript框架。PatternFly具有许多适用于企业级应用程序的高级组件,如条形图,图表,模式和布局。

PatternFly在GitHub上一共有1,050多个提交和44个贡献者。(Github地址:https://github.com/patternfly/patternfly)

3、MaterialComponentsfortheweb

MaterialComponentsfortheweb(MDCWeb),是谷歌专为Web设计的全新前端框架。MDC

Web可帮助开发人员执行Material

Design,组件由谷歌的核心工程师团队和UX设计人员开发。这些组件可以建立可靠的开发工作流程,以构建美观且功能强大的Web项目。

MDC

Web在Github上共有5700多个提交和349个贡献者。(Github地址:https://github.com/material-components/material-components-web)

4、Pure

Bootstrap,Patternfly和MDC

Web是功能非常强大的CSS框架,但它们可能非常繁琐和复杂。如果你想要一个轻量级的CSS框架,可以尝试Pure.css,它本身更接近于CSS编程,但又可以帮助你构建一个不错的网页。Pure是具有最小占用空间的轻量级CSS框架,它由Yahoo开发,根据BSD许可是开源的。

Pure在Github上共有565多个提交和59个贡献者。(Github地址:https://github.com/pure-css/pure)

5、Foundation

Foundation声称是世界上最先进的响应式前端框架。它提供了用于构建专业网站的高级功能和教程。许多公司,组织都使用该框架,并且该框架具有大量可用的文档。

Foundation在Github上有将近17000个提交和1000个贡献者。(Github地址:https://github.com/foundation/foundation-sites)

6、Bulma

Bulma是一个基于Flexbox的开源框架,可根据MIT许可证开源。Bulma是一个非常轻量级的框架,因为它只需要一个CSS文件。Bulma拥有简洁明了的文档,可轻松选择你想要的主题。它还具有许多Web组件,你可以在设计中使用它们。

Bulma在Github上有1400多个提交和300个贡献者。(Github地址:https://github.com/jgthms/bulma)

7、Skeleton

如果说还有什么框架比Pure更加轻量级,那一定是Skeleton。Skeleton库只有大约400行,并且该框架仅提供一些基本的CSS框架组件。尽管如此,Skeleton还是提供了详细的文档来帮助你快速上手。

Skeleton在Github上共有167个提交和22个贡献者,但它不是最活跃的项目,它最新一次的更新是在2014年。(Github地址:https://github.com/dhg/Skeleton)

8、Materialize

Materialize是一个基于Material

Design风格的一个现代化的响应式前端框架,解决了最繁重的工作,结合你的自定义组件,为你提供默认的样式。Materialize的文档页面非常全面,并且很容易遵循。其组件页面包括按钮,卡片,导航等。

Materialize在Github上共有3800多个提交和250个贡献者。(Github地址:https://github.com/Dogfalo/materialize)

9、Bootflat

Bootflat是从Twitter的Bootstrap派生的开源CSS框架。与Bootstrap相比,Bootflat更简单,并且更加轻量级。Bootflat的文档似乎几乎受到了IKEA的启发,大部分都是图像,没有太多的文字。

Bootflat是在MIT许可证下开源的,在Github上有159个提交和8个贡献者。(Github地址:https://github.com/bootflat/bootflat.github.io)

以上就是小编今天为大家分享的关于Web前端开发必备的开源框架有哪些的文章,希望本篇文章能够对正在从事web前端工作的小伙伴们有所帮助,想要了解更多web前端知识记得关注北大青鸟web培训官网。最后祝愿小伙伴们工作顺利!

开源最前线(ID:OpenSourceTop)猿妹编译

链接:#/article/20/4/open-source-css-frameworks

React Component是适应 Web App 化的,因此很自然,inline style 的作用自然就会被加强。在需要全局 CSS 的时候,你仍然可以通过为 React Component 设置 className 属性,对应的 CSS Class。

Inline style也有一些限制,只能通过 CSS 声明(className)来实现,例如属性 (a:visited)。

react组件化了,组件复用,样式内敛,没必要写全局样式了吧。

Bootstrap 和 Angular 都是人们大量使用的工具。在很多项目中,它们需要一起使用。为什么不呢?他们已经改变了CSS和JS的开发方式,让前端既成为令人难以置信的工具。

但是,把它们放在一起使用还有一些问题,特别是当你试图在Angular的项目中引入Bootstrap JavaScript组件时,会是一个问题。当建立了Angular的项目,##你不应该添加完整的jQuery库##。 jQlite已经包含在Angular中的,所有jQuery必要的功能它都有。这是因为把jQuery添加到Angular的项目将很难让你完全掌握Angular的核心优势和数据绑定的力量。

比如你想在某种程度上改变View视图,一个很好的做法是通过Angular所绑定的data数据来改变。我们写这篇文章的目标就是为了,学习用jQuery和Angular通过不同的手段达到相同的目的。

Bootstrap JavaScript和Angular问题

这个问题可以追溯到,你不应该在你的Angular项目中使用jQuery的原则。jQuery操作视图的方法与Angular操纵数据的方法会起冲突。

回到顶部

为什么你不应该使用jQuery

您使用jQuery操作数据抓住并注入到DOM的方式基本上基于事件。当我们使用Bootstrap JavaScript组件时,比如一个按钮,我们需要“单击此按钮时,设置此按钮为激活状态”。并将这种设置添加入新加的按钮中。通过添加 .active 类和检查input(如果你的按钮是一个input)为实现。

在Angular中,操纵数据不是通过抓取和注入。一般通过数据绑定来实现,野蛮抓取注入数据。也能够改变每个组件的状态,不过在切换时就会暴露出问题。

这就是为什么我们不能直接用Bootstrap的JavaScript。它依赖于jQuery我们不希望jQuery的破坏我们的Angular项目。如果我们试图绑定变量到组件,它无法工作。

回到顶部

解决方案: UI Bootstrap

那么该如何解决?我们从Angular得知,我们需要将数据绑定到一个特定的组件,我们应该建立一个directive 指令。这将让我们的Angular网站,更关注数据的变化。

该解决方案是一种被称为UI Bootstrap 的项目。这是由Angular UI团队开发的,增加了许多Angular的扩展组件。UI Bootstrap不使用jQuery它为每个Bootstrap JS组件添加了内置指令(directives)。

对于UI Bootstrap(非BootstrapJS)的要求是:

没有jQuery的依赖

依赖Angular

依赖Bootstrap CSS文件

就是这样。现在,我们要如何将它集成到我们的项目?

回到顶部

我们的Angular应用

让我们来看看我们需要些什么设置。如果你已经看过JavaScript代码,你会看到我们创建了一个Angular模块和控制器。然后,我们创建的按钮和折叠的变量。

为此,下一步就是要拿到UI Bootstrap的文件,放到我们的项目中。那么我们能够在我们的Angular模块中导入ui.bootstrap。就这样,我们就能够获取需要模仿BootstrapJS组件的指令(directives )!

// 创建 angular app 导入 ui.bootstrap

angular.module('app', ['ui.bootstrap'])

.controller('mainController', function($scope) {

// BUTTONS ======================

// 设置数据

$scope.bigData = {}

$scope.bigData.breakfast = false

$scope.bigData.lunch = false

$scope.bigData.dinner = false

// COLLAPSE =====================

$scope.isCollapsed = false

})

现在,正确的使用方式是,当按下按钮时调整这些变量的值。

回到顶部

使用UI Bootstrap按钮指令(Directive)

通过UI Bootstrap文档 ,使用复选框按钮正确的方法是添加 ng-model 的定义对象,并添加 btn-checkbox 属性。下面是我们按钮的代码:

<div class="btn-group" data-toggle="buttons">

<label class="btn btn-primary" ng-model="bigData.breakfast" btn-checkbox>

Breakfast

</label>

<label class="btn btn-primary" ng-model="bigData.lunch" btn-checkbox>

Lunch

</label>

<label class="btn btn-primary" ng-model="bigData.dinner" btn-checkbox>

Dinner

</label>

</div>

现在,当我们点击按钮时,我们可以看到该模型的变化,就像我们希望的那样。

回到顶部

使用UI Bootstrap折叠指令

对于折叠,我们将基于isCollapsed变量的值打开和关闭面板。因此,我们将使用 ng-click="isCollapsed=!isCollapsed"。这将触发我们的isCollapsed变量从而切换面板。

<div class="panel panel-default">

<div class="panel-heading">

<h4 class="panel-title">

<a href="#" ng-click="isCollapsed = !isCollapsed">

Collapsible Group Item #1

</a>

</h4>

</div>

<div collapse="isCollapsed">

<div class="panel-body">Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.

</div>

</div>

</div>