waiting 时间太长---- 查看waiting 的意思,以及TTFB,
TTFB ,是最初的网络请求被发起到从服务器接收到第一个字节这段时间,它包含了TCP连接时间,发送>
ExtJS和AngularJS是两个行业内领先的富界面开发框架。
TechFerry有机会使用Ext JS和Angular JS来开发多个富界面的单页面应用程序。
Ext JS:使用网格、树和图表组件
Angular JS:使用angular-chartsminjs、angularminjs、jqueryminjs、angular-routeminjs、ng-grid-207minjs、angulartreeviewminjs、angular-animatejs模块
对于这些组件的数据部分,使用的是同意的>
结论:Ext JS比AngularJS重3倍
在本文中,我们从550个使用 Angular1x 和 Angular 2 构建的项目中精选了前18个,与大家分享。(Angular 1x 与 Angular 2 项目各占一半)
开发者们,一起来 Enjoy 吧!
1 Soundnode
使用 NWjs,Nodejs,Angularjs 与 Soundcloud API 构建的 Soundcloud 桌面版(Mac,Windows和Linux)
感谢 Michael Lancaster 提供 [2442 Stars]
2 Angular Bootstrap管理面板框架
感谢 @smartapant 提供 [3584 Stars]
3 ProtonMail
使用 Angular 构建的加密 Webmail 界面。
感谢 @ProtonMail 提供 [1102 Stars]
4 Taiga
使用 Angular 和 Django 构建的适用于敏捷开发者和设计人员的项目管理 APP。
感谢 Taigaio 提供 [1970 Stars]
5 Viktor NV-1
使用 AngularJS 和 WebAudio API 构建的开源乐器。
感谢 @NikolayTsenkov 提供 [191 Stars]
6 Malhar-angular-dashboard
AngularJS 构建的通用面板及窗口部件功能。 [545 Stars]
7 DuckieTV
一款由 AngularJS 构建的 Web APP 它可以通过半自动集成 torrent 客户端来跟踪您喜爱的电视节目。 [373 Stars]
8 使用 AngularJS 开发的鼓点机
感谢 Doug Johnston 提供 [46 Stars]
9 Aisel
用 AngularJS 和 Symfony3 构建的电商市场。
感谢 Ivan Proskuryakov 提供 [189 Stars]
1 Angular 2 开发的管理面板框架 [907 Stars]
2 使用 RxJS 和 Angular 2 开发的一个聊天应用的程序示例
感谢 Nate Murray 提供 [634 Stars]
3 用 AngularJS 20 制作的 HackerNews
感谢 Harry Wolff 提供 [103 Stars]
4 Angular 2 开发的回声播放器
感谢 Oren Farhi 提供 [74 Stars]
5 Dribbble Clone
使用 TypeScript 和 SystemJS 加载器的 Angular 2 游乐场。
感谢 Mohammed Zama Khan 提供 [19 Stars]
6 Angular 2 开发的克隆版 Trello [19 Stars]
7 Angular 2 国际象棋游戏
感谢 Shlomi Assaf 提供 [11 Stars]
8 使用 Angular 20 构建的 YouTube 搜索引擎
感谢 Alex Hawkins 提供 [85 Stars]
9 基于 Angular 2 的钢琴音符训练游戏 [2 Stars]
以上就是 18 个精选的 Angular 开源项目分享,希望你能从中找到喜欢的项目。
如果觉得文章不错,不妨点个赞。 _
注:
一、学习HTML5和CSS3基础
随着这移动互联网快速发展的时代,尤其是4G时代,HTML5+CSS3已然成为新一代的web前端技术。
随着HTML5的发展和普及,了解HTML5也将成为Web开发人员的必修课。涉及到网页外观时,就需要学习CSS了,它可以帮你把网页做得更美观。
利用HTML5和CSS3模拟一些你所见过的网站的排版和布局(色彩,,文字样式等等)。
当然,远标Web前端开发课程第一阶段还会学习PS设计工具使用和互联网UI设计理论。
二、学习Java,了解DOM
Java是一种能让你的网页更加生动活泼的程序语言。学习Java的基本语法,学会用Java *** 作网页中DOM元素。
Web前端开发课程第二阶段完全可以实现大家平常喜欢玩的2048游戏。(是不是感觉挺有意思)
接着学习使用一些Java库,比如Jquery是大部分Web开发人员都喜欢用的,通过Jquery可以有效的提高Java的开发效率。
三、学习Web前端核心
学习Jquery之后,大家就要学习HTML5高级阶段(HTML5Canvas绘图、HTML5SVG、音频和视频处理、表单处理、表单验证等)
四、学习>
服务器端脚本编程(后台开发)也是Web开发人员的基本功之一。
要构建动态页面通常会使用到数据库,通常PHP使用Oracle、MySQL数据库。
对于Web服务器来说,Apache一个就已经是了。那么Apache、php、数据库,该怎么理解它们的关系
1、Apache是服务器基础,php和数据库都需要Apache来协调工作
2、php是脚本解释,如果不用php,那么Apache出来的东西就只是静态的,而不能在服务器实现功能
3、数据库完全可以单独使用,但是和Apache、php一起,则是由php代码调用数据库接口,而apache就负责解释php代码,让他能真正地实现对数据库的调用
五、学习Web前端高级技术
当你掌握了HTML5,CSS3,Java等技术之后,就应该找一个Web框架加快你的Web开发速度,使用框架可以节约你很多时间。
学习的Bootstrap是目前很受欢迎的前端框架。Bootstrap是基于HTML、CSS、JAVA的,它简洁灵活,使得Web开发更加快捷,是web前端开发者最喜欢,也是现在企业里最常用的前端框架。
AngularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC编程、模块化、控制器、路由、事件绑定等等。
AngularJS通过为开发者呈现一个更高层次的抽象来简化应用的开发。如同其他的抽象技术一样,这也会损失一部分灵活性。换句话说,并不是所有的应用都适合用AngularJS来做。AngularJS主要考虑的是构建CRUD应用。幸运的是,至少90%的WEB应用都是CRUD应用。但是要了解什么适合用AngularJS构建,就得了解什么不适合用AngularJS构建。
AngularJS的官方网站上给出了这个框架的基本使用方法,如:如何引入AugularJS,从而让你的web应用使用该框架
如何添加控件,并对其进行数据绑定
如何进行表单验证
如何与服务器通信
如何创建可重用的组件
如何对组件进行本地化
如何让应用可嵌入、可注入和可测试
另外,网站上还给出了一系列教程,跟随这些内容,我们可以从深入浅出地逐渐对AngularJS的各种特性和用法有很好的了解,进而很好地开始使用这一框架。
但是,正如Brian Ford所说,官方文档中并没有告诉开发者,当应用逐渐增长,其中包含上万甚至几十万行代码的时候,应该如何组织和管理它,而他的blog正是对这些内容以及最佳实践的总结。
这篇blog特别关注的是大型应用程序,作者首先给出的建议是,尽量不要让应用变得太巨大。而应该编写小型、功能专注的、模块化的部分,然后逐渐把它们组合起来,变得越来越大,从而构成你的应用。
接下来,Brian Ford首先讲述了如何组织应用的结构,然后对性能、测试、工具、服务器和构建过程做了简要的总结。
在应用的组织结构方面,Brian Ford针对各个方面给出如下建议:
目录:建议在根目录中只放置indexhtml一个文件,然后根据需要创建scripts、styles、views等目录,在scripts目录下,首先会存放appjs文件,然后在之下又可以创建多个子目录,如:controllers、directives、filters、services、vendor等,在其中分门别类地存放不同的内容。并且,随着你为应用创建更多内容,也许会增加更多子目录来存放各种文件。
文件:每个文件中应该只有一件事物,这件事物可能会是控件、指令、过滤器或者服务等等。这会生成比较小但更专注的文件。也有利于更好地进行测试。
模块:首先在appjs中定义和配置所有模块,如:
angularmodule('yourAppName', ['yourAppDep']);
angularmodule('yourAppDep');
然后在模块中定义控件、服务等,如:
angularmodule('yourAppDep')controller('MyCtrl', function () {
//
});
依赖关系:一般来说,服务、控件、指令等应该拥有尽可能少的依赖关系,这是非常好的软件开发实践,会有助于测试。API应该分层。控件尤其不能综合多种不同级别的抽象。
指令:对指令使用app专用的前缀,这有助于避免与第三方的组件重名。例如下面的代码中就用“btla”作为前缀:
angularmodule('yourAppDep')directive('btlaControlPanel', function () {
//
});
服务:你可以使用下面的方式声明服务:
angularmodule('yourAppDep')service('MyCtrl', function () {
//
});
模型:AngularJS作为JavaScript框架,其独到之处就在于让你可以完全掌控模型层。这是AngularJS的强大之处,因为应用程序的核心是你的数据,而各种应用之间的数据又有很大区别。所以Brian Ford强烈建议要仔细考虑使用和中数据,以及将会如何存储数据。
控制器:建议控制器以“Ctrl”开头,如:
angularmodule('yourAppDep')controller('MyCtrl', function () {
//
});
除了上述内容,Brian Ford还在文章中针对性能、测试等方面给出了各种建议:
在性能方面,AngularJS应用一般会非常非常快。大多数应用不需要做任何特殊的优化,因此,除非你发现严重的性能问题,否则就应该把时间花在其他方面来改善应用。
对于大型项目来说,测试非常重要。它让你可以自信地进行重构,而这对于保持大型项目代码整洁非常重要。大型应用应该既拥有单元测试,也要拥有端到端(end-to-end)测试。单元测试有助于定位问题,而端到端的测试能够确保整个应用像期望的那样工作。每个控制器、服务、过滤器和指令都应该拥有一系列单元测试。而应用的每个特性都应该拥有端到端的测试。
在工具方面,首先推荐使用Yeoman,从而获得最佳实践和很好的项目结构,另外还有AngularJS Batarang,它对于调试和找到性能瓶颈会很有效。
在服务器方面,你可以使用任何想要的服务器和AngularJS协作。它只是客户端的程序库。我的推荐和喜欢的设置是使用Nodejs加nginx。我使用nginx存放静态文件,使用Nodejs创建RESTful的API和嵌入的(socketed)应用。对于云提供商,我曾经成功使用过Nodejitsu 和Linode。前者会让你更容易地部署程序,你不需要关心服务器的环境。如果你需要对服务器环境有更多控制,那么Linode会让你从底层控制虚拟机。Linode还提供了很好的API,可以用来管理虚拟机。
构建过程方面,我认为Angular还需要做更多改进,我在2013年最大的目标就是要对此有所贡献。我已经发布了ngmin,希望这个工具可以最终解决为生产环境最小化AngularJS应用的问题。
……
最后,Brian Ford做出结论:AngularJS是一种非常适合编写大型应用的JS框架。你可以直接拿来使用,它很快,并且会对组织应用的结构很有帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)