热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

构建meteor应用程序_使用Meteor开发下一个Web应用程序的7个理由

构建meteor应用程序当我第一次了解MeteorJavaScript框架时,我看到有人写道:“Meteor代表Node.js,Rails

构建meteor应用程序

当我第一次了解Meteor Javascript框架时,我看到有人写道:“ Meteor代表Node.js,Rails代表Ruby”,我认为这是一个很好的比较。 几年前,Rails是Web上的热门新事物 ,它在开发过程中散布了一些有用的“魔术”,使Web上的编程更加平易近人和令人愉悦。 在最近涌现的无数新框架中,没有任何一个能让我感觉到Rails像Meteor一样做的事情-您应该认真考虑将其用于未来项目的框架。 原因如下。

1.默认情况下,您的应用程序是实时的。

最近,像Twitter和Facebook这样的公司一直在朝着实时网络发展。 不可避免的是,用户会比预期的更快,期望Web应用程序立即运行。 我想象已经有用户在更改设置和注销之类的简单任务需要单独加载页面时感到畏缩。

问题是,创建实时Web应用程序很棘手。 或者至少是这样。 流星已经内置了实时功能。 更新数据库后,模板中的数据也会更新。 当用户单击按钮或提交表单时,操作将立即发生。 在绝大多数情况下,这甚至不需要任何额外的努力。 您可以像往常一样构建Web应用程序,并且开箱即用,它恰好是实时的。

不久前,流星的人们发布了一个演示这些实时功能的截屏视频 ,这非常值得一看,但是有一系列生产应用程序在展现流星差异方面做得更好:

  • 助手
  • 细任务
  • 响应地
  • 音速敏捷
  • 维索

这些也只是一个小样本。

2.您可以只使用一种语言进行开发。

成为Web开发人员的令人沮丧的部分之一是需要戴上各种帽子。 您需要考虑前端,后端和数据库,然后还有另外一百万个细节会挤出您的智力极限。 Meteor通过缩小需要考虑的范围来简化此过程,使您仅使用Javascript即可构建和管理前端,后端和数据库。

例如,这就是我们在Meteor中创建“集合”(相当于SQL表)的方式:

BlogPosts = new Meteor.collection('posts');

因此,我们可以使用熟悉的语法创建集合,也可以使用熟悉的语法操作集合。 这是我们插入数据的方式:

BlogPosts.insert({
title: 'Hello World',
content: 'This is the content.',
published: true
});

用一种语言编写整个应用程序还有另一个好处。 一行代码可以在客户端和服务器上运行,并且可以在两种环境中执行不同的操作 。 这就是为什么这样重要:

当创建集合的语句在服务器上运行时,它可以预测地创建一个集合。 但是,当同一条语句在客户端上运行时(默认情况下将执行此操作),它将在用户的浏览器中创建一个纯本地集合。 然后,用户直接与本地集合进行交互,这就是为什么他们的屏幕上的数据可以即时更改,而本地和服务器端集合在后台无缝同步的原因。

这不需要任何特殊处理。 您编写了一行代码,除了能够在整个开发周期中使用熟悉的语法外,还提供了一系列功能。

3.使用智能软件包可以节省大量时间。

假设您要在Meteor项目中创建一个用户帐户系统。 您将如何处理? 如果您首先想到的是“嗯,我将为用户的数据创建一个集合”,那么您已经在想得太辛苦了。

在Meteor中,这是我们创建帐户系统的方式:

meteor add accounts-password

我们在终端中运行此命令,Meteor将其内置的“智能软件包”之一添加到项目中。 这个特定的程序包创建一个帐户系统,该系统需要电子邮件(或用户名)和密码。 但是,如果我们想让用户注册其Twitter帐户怎么办? 然后我们可以写:

meteor add accounts-twitter

或者,使用他们的Google帐户:

meteor add accounts-google

或者,Facebook:

meteor add accounts-facebook

我们甚至可以运行所有这些命令,以便我们的用户可以选择他们想要的注册方式。

Meteor还提供了一个accounts-ui程序包,该程序包创建此帐户系统的前端,并且只需要一个其他命令即可:

meteor add accounts-ui

有了我们的帐户系统,我们就可以执行在处理Web应用程序时合理需要做的一切,例如检查当前用户是否通过我们的模板之一登录:

{{#if currentUser}}

You're logged in.


{{else}}

You're not logged in.


{{/if}}

免费学习PHP!

全面介绍PHP和MySQL,从而实现服务器端编程的飞跃。

原价$ 11.95 您的完全免费

或浏览和操作Meteor.users集合,这是Meteor创建的用于存储用户数据的集合。

不过,智能套餐不仅适用于帐户。 已经有许多可用的方法,而且大概还在进行中,它们都使您可以做一些很酷的事情,包括:

  • 用CoffeeScript编写应用程序。
  • 自动将LESS文件编译为CSS。
  • 集成D3.js和Bootstrap之类的附加功能。

但是,如果智能软件包无法满足您的需求,那么日益庞大的第三方软件包库可能会让您满意。

4.社区非常支持。

没有什么比活跃和充满活力的社区吸引我更多的新框架或新技术了。 我认为,如果社区活跃,那么:

  • 会有很多详细的文档。
  • 我会花更少的时间来熟悉基础知识。
  • 这项技术不会在不久的将来陷入僵局。

幸运的是,流星的社区已经是其最大的财富之一。 人们对框架的热爱产生了很多有用的资源,包括:

  • Crater ,一个类似Reddit的网站,用于跟踪流星世界中正在发生的事情。
  • Evented Mind ,这是一个视频培训网站,面向中级开发人员,他们希望深入了解Meteor的工作原理。
  • Kadira ,一个性能跟踪应用程序,易于使用,并且有合理的免费入门计划。

流星的YouTube官方频道提供了流星聚会的一系列演讲,并且有很多博客可以作为提示和教程供您参考:

  • 流星提示 (好的,这是我的)
  • 流星30天
  • 探索流星
  • 流星黑客
  • 温柔节点

但是,如果您仍然对可用资源不满意,Stephan Hochhaus会保留大量的流星资源清单,每个人都有一些东西。

5.针对开发人员的幸福进行了优化。

几乎每个框架都将自己作为一种更好,更有趣的工作方式。 不过,我很欣赏Meteor对细节的关注,以实现其为开发人员带来幸福的优化承诺。

以下面的代码为例:





{{> myCoolTemplate}}

这是Meteor应用程序的基本界面, body标签之间包含模板。 (对于模板,Meteor使用空格键-一种由Handlebars启发的语法。)

但请注意:

  • 我们尚未包含html标签。
  • 我们尚未包含任何CSS文件。
  • 我们尚未包含任何Javascript文件。

…那是因为流星为我们照顾了它们,所以我们不需要做这些事情。 这是世界上最重要的功能吗? 不。 但这表明流星有兴趣让每个开发人员的生活在每一步都变得更加轻松。

其他令人愉快的细节包括:

  • 内置的LiveReload功能,因此您不必手动刷新浏览器。
  • 随心所欲地自由构建项目。 有可以遵循的标准,但没有严格的规则或约定。
  • 流星的绝对模块化,允许您混合搭配不同的组件,以防流星的某一部分不符合您的喜好。

因此,尽管Meteor在设计上可以让您的生活更轻松地拥有“魔术”和惯例,但您仍然可以根据个人喜好进行选择。 这是两全其美。

6.对初学者来说很友好。

我对Meteor感到惊讶的是,我能够这么快地开始构建实际上很酷的东西。 我听说人们称该框架为“简单”,但通常其他人对该词的定义与我自己的定义不同。 在这种情况下,他们是对的:

流星是初学者最容易学习的框架之一。

它仍在编程中,您需要熟悉Javascript的语法(变量,循环,条件,JSON等),但是您无需成为Javascript忍者就可以开始。 您甚至不需要制作Web应用程序的先前经验(对于希望增强技能的前端开发人员而言,这是一个不错的选择)。 您可能不会立即掌握所有概念,但这不会阻止您享受事物的实际方面。

至于为什么Meteor非常适合初学者,主要是出于与我一般推荐Meteor相同的原因:

  1. 您只需要知道一种语言。
  2. 有大量的社区资源。
  3. 它针对开发人员的幸福进行了优化。

因此,即使您在学习Meteor时偶然遇到了一点驼峰,也只需将其稍微推开一点,我想您会发现这些驼峰很少而且相差很远。

7.它领先于技术曲线。

就像我之前说的,网络正在成为一个实时环境,但是这种转变不会仅仅基于预算大的大公司的行动而发生。 随着工具的可用,这种转变将发生,这些工具使小型团队和个体开发人员可以快速,轻松地制作实时应用程序。 Meteor是此工具的第一批浪潮之一,其“多合一”方法肯定会使其在未来几年中发挥重要作用。

流星的人们说了他们的长期任务 ,说白了,他们的任务是巨大的:

…为云应用程序构建一个新平台,该平台将与以前的平台(如Unix,HTTP和关系数据库)一样普及。

他们能做到吗? 当然,没有人可以绝对确定地说,但是他们拥有资金 ,社区和对开发人员和最终用户而言至关重要的平衡。 因此,至少,它们在正确的轨道上(这是我很高兴能随车行驶的轨道)。

结论

撰写这些文字时,Meteor的版本仍为0.8.2,但发行版本又大又快,并且一系列令人印象深刻的Meteor内置应用程序已投入使用并在网络上使用。 您的具体情况将决定某个特定的框架是否适合您和您的创作,但是每个开发人员都应归功于自己至少与Meteor玩一两天。 很长一段时间以来,我在网络编程上都没有这么开心,很可能您会感觉到相同的方式。

翻译自: https://www.sitepoint.com/7-reasons-develop-next-web-app-meteor/

构建meteor应用程序



推荐阅读
  • Qwik:一款创新的JavaScript框架,致力于提升网页应用的速度与响应性
    Qwik是一款新的JavaScript框架,旨在通过其独特的可恢复性机制,显著提高网页应用的加载速度和用户体验。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文介绍了多个适用于用户界面设计的Canvas框架,帮助开发者选择最适合的工具。 ... [详细]
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • 本文探讨了前端包管理器的核心功能,包括注册机制、文件存储、上传下载、以及依赖分析等关键特性,并介绍了几种流行的前端包管理工具。 ... [详细]
  • 本文探讨了Jeddict工具的应用价值,特别是在快速构建和部署CRUD服务系统方面的能力。通过介绍其核心功能和优势,以及当前的使用状况,文章还展望了Jeddict未来的改进方向。 ... [详细]
  • Bootstrap与Layui的主要差异分析
    在前端开发领域,Bootstrap与Layui是两种非常流行的框架选择。本文将深入探讨这两种框架的主要区别,帮助开发者根据项目需求做出最佳选择。 ... [详细]
author-avatar
糖糖6
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有