均值与灯为未来编程

灯泡仪注意:MongoDB,ExpressJS,AngularJS和Node.js的灵活简单是没有笑话

握手与纹身的妇女的商人95363320
Thinkstock.

从尖端好奇心到实际工作的过渡并不是许多技术所做的。昨天的早期追求往往无法达到0.1版本的版本 - 不适用于构成雄累定的平均堆栈的技术。

这只是几年前,MongoDB,Express.js,Angularjs和Node.js正在自己养眉毛。现在他们已经长大了,他们在一起,他们在一起做了认真的工作,偷猎了庞大的灯营的少数开发人员。但这究竟究竟是如何对灯堆叠的含义?在这个Upstart Complictialies的上升集合上,选择经过良好的测试,成熟的灯何时才能更好?

答案是简单和常见的结构让你的生活更轻松。MongoDB提供更灵活的容纳层,用于存储数据。Node.js为运行服务器提供更好的Nexus,而Express.js有助于标准化您的网站。在客户端上,AngularJS提供了添加交互功能和Ajax驱动的丰富组件的干净方式。将它们全部放在一起,它们制作一个干净,连贯的机制,用于将数据从用户移动到磁盘农场并再次返回。

然而,真正的解释是更深的。在这里,我们提供九个理由让您的下一个项目拍摄。不是每个人都有时间或预算在最新时髦的框架中抛出并重新汇合旧的旧框架,也不应该抛弃像Apache,MySQL或PHP这样的战斗测试工具的摇滚固体可靠性。但对于可以从灵活性,简单性和性能中受益的绿地项目,意味着可能会让你的生活更好。

MongoDB是为云而构建的

如果您的Web应用程序计划在云的Pennies承诺中擅长良好,则平均堆栈在MongoDB提供了一个引人注目的数据库层。这款现代数据库配备了自动分片和完全集群支持,禁区。插入MongoDB,它会在您的服务器集群中传播,以提供故障转移支持和自动复制。鉴于在云中开发,测试和托管哪些应用程序的缓解,很少有原因不考虑MongoDB为您的下一个项目。

MySQL的结构是限制(和被高估的)

任何已开发或维护基于灯的应用程序的人都知道MySQL作为关系数据库的强度可以感觉有时会有一点监禁。与所有关系数据库一样,MySQL强制您将数据推入表格中。如果每一个条目适合完全相同的格式,这不是一个问题,但世界多久慷慨?如果两个人共享相同的地址,但不是同一个帐户怎么办?如果你想在地址而不是两个方面有三条线怎么办?谁没有尝试通过将太多的数据挖掘到单个列中的关系数据库?否则您最终添加了另一列,并且表格无限制。

另一方面,MongoDB提供了一个更灵活的文档结构。想要向用户配置文件添加新的个人信息吗?只需将字段添加到表单中,将其滚动到JSON文档中的其余数据,并将其推入MongoDB集合中。这对于助焊剂的项目以及处理可能最终证明在表格形式中的数据令人棘手的数据非常重要。

磁盘空间便宜

在关系数据库的伟大启示中是加入命令。使用Join,我们可以通过删除City,State和Zip代码等重复的字段来节省磁盘空间。通过将此经常访问和重复的数据存储在可以通过连接中可以包含在未来结果中的单独表中,我们将数据库整洁和我们的磁盘缩减。

但是,在RAM上有一些和硬盘,虽然它仍然是一个很好的想法,但是在单独的表中通过连接来访问数据,现在现在没有节省磁盘空间,磁盘驱动器中的多个TBRABYTES中的磁盘空间并不多。某些数据库设计师最终使他们的数据最终是如此便宜,因为加入太慢了。一旦你这样做,你就不需要一个关系数据库。为什么不使用mongodb?

node.js简化了服务器层

导航灯泡堆栈的各个层可能是许多帽子的艰难舞蹈,其中您通过具有不同语法的各种配置文件进行洗牌。意味着通过使用Node.js来简化这一点。

想要更改您的应用程序路由要求的方式?洒在一些javascript中,让node.js完成其余的。想要更改用于回答查询的逻辑?也在那里使用javascript。如果要重写URL或构造奇怪的映射,则它也在JavaScript中。平均堆栈对Node.js的依赖依赖于一个地方的这种管道,一体化,一堆逻辑。您不需要重读PHP,Apache的男页,以及您添加到堆栈的其他内容。虽然灯泡生成具有不同的配置文件,但Node.js完全避免了该问题。在一层中的所有内容意味着较少的混乱和较少的机会,通过多个层之间的奇怪交互创建的奇怪错误。

意思是代码同构

在服务器上使用JavaScript,简单性不会停止。通过表明,您也可以在客户端上享受同一JavaScript,留下灯堆栈的客户/服务器精神分裂症。如果您编写节点的代码并决定在AngularJS中更好地放置,您可以轻松地将其移动,并且几乎确定运行相同的方式。这种灵活性使编程的基于均值的应用程序更容易。此外,如果您要备份一个项目,您无需查找PHP专家和JavaScript专家,或前端和后端专家。相反,它是堆栈的所有JavaScript。

json到处都是

AngularJs和Mongodb都会说json,do node.js和Express.js。数据在所有层中整齐地流动,无需重写或重新格式化。MySQL用于应答查询的本机格式,嗯,这一切都是自己的。是的,PHP已经有用于导入MySQL数据的代码,并使其易于在PHP中处理,但这并没有帮助客户端层。这可能是调味灯退伍军人有点次要的灯,因为有这么多测试的库很容易转换数据,但这一切似乎效率低下和令人困惑。均值使用相同的JSON格式以获取各个数据,这使得它更清晰并节省时间重新格式化,因为它通过每个图层。此外,JSON通过平均堆栈的难以使用的外部API,更容易更轻松:获得,操作,呈现,邮寄和存储所有格式。

node.js是超级快餐

Apache很棒,但这些日子,Node.js往往更快。一些人基准显示Node.js提供更好的性能,同时做得更多。也许这是代码的年龄。也许node.js事件驱动的架构更快。没关系。这些天,特别是在不耐烦的移动设备用户中,剃须甚至毫秒为您的应用程序的性能很重要,node.js可以做到这一点,同时为重新编程完整的机制来说。

深度很重要

PHP爱好者喜欢坚持为WordPress或Drupal等主导平台为主导平台构建的代码库。他们有很好的理由,以为自豪,但它们的优势在Node.js赶上时蒸发。

node.js包管理器,NPM.,使其更容易共享代码,并且瞄准Node.js的公共存储库正在快速增长。虽然PHP人群可能会在这个时刻领导,但未来可能有利于节点。此外,在趋势的趋势面前,现任者通常被证明是脆弱的。每次尝试如何使德鲁佩尔的redrched平台与新版本相当意味着更多的开发人员可能会让他们的眼睛朝着node.js围绕的更新,更多的灵活平台徘徊。

Angularjs是新鲜的

将“A的”平均值“与灯泡堆叠中的任何东西进行比较并不完全公平,因为灯泡不包括模拟。如果你想在客户端做任何事情,你就是自己的。当然,有大量的基于PHP的框架与MySQL合作,但每个都有点不同,并以自己的方向移动。例如,WordPress,Joomla和Drupal,提供不同的策略,并且在它们之间切换很难切换,更不用说从一个到另一个端口代码。冒充一个客户端框架增加了一致性和稳定性。

它还有助于angularjs由拥有20年的经验建设Web应用程序的人建造。他们知道足以将设计工作留给HTML和CSS。他们还想出了如何添加一些JavaScript来扫描HTML。Angularjs的设计者看着人类做得好,然后量身定制了JavaScript来支持人类。模板系统和逻辑层比我们之前看到的剧烈清洁,部分原因是,该团队讨论了更简单的方法来利用JavaScript的本地力量来猜测您正在做的事情。

连连看

当然,如果你真的挑剔,没有理由你不能将其混合起来。大量开发人员使用Apache和PHP使用MongoDB,其他人更喜欢使用node.js使用mysql.AngularJS对任何服务器工作都很好,甚至一个运行PHP以从MySQL提供数据。你不必成为首字母缩略词的奴隶。

相关文章

这个故事,“卑鄙与编程未来的灯”最初发布infoworld.

加入网络世界社区有个足球雷竞技appFacebook.linkedin评论是最重要的主题。

版权所有©2015.Raybet2

IT薪水调查:结果是