O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Build Applications with Meteor

Book Description

Build a variety of cross-platform applications with the world’s most complete full-stack JavaScript framework— Meteor

About This Book

  • Develop a set of real-world applications each exploring different features of Meteor
  • Make your app more appealing by adding reactivity and responsiveness to it
  • Work with the most powerful feature of Meteor—the “full stack reactivity”—through building real-time applications with many third party libraries

Who This Book Is For

If you are a developer who is looking forward to taking your application development skills with Meteor to next level by getting your hands-on different projects, this book is for you.

What You Will Learn

  • See how Meteor fits in the modern web application development by using its reactive data system
  • Make your front-end behave consistently across environments by implementing a predictable state container with Redux
  • Get familiar with React and overview of Angular 2
  • Add a map to your application with a real-time geolocation
  • Plugin into Meteor social media APIs like Twitter’s streaming and Facebook’s Messenger
  • Add search functionality from scratch to your existing app and data
  • Add responsiveness with Bootstrap 4 and Google’s Material Design using Less and Sass
  • Distribute your data across machines and data centers by adding Apache Cassandra to your existing stack.
  • Learn how to scale your microservices with the high performant language neutral framework gRPC.
  • Learn how to query multiple data sources using GraphQL.

In Detail

This book starts with the basic installation and overview of the main components in Meteor. You’ll get hands-on multiple versatile applications covering a wide range of topics from adding a front-end views with the hottest rendering technology React to implementing a microservices oriented architecture.All the code is written with ES6/7 which is the latest significantly improved JavaScript language. We’ll also look at real-time data streaming, server to server data exchange, responsive styles on the front-end, full-text search functionality, and integration of many third-party libraries and APIs using npm.

By the end of the book, you’ll have the skills to quickly prototype and even launch your next app idea in a matter of days.

Style and Approach

This book takes an easy-to-follow project-based approach. Each project starts with the goal of what you will learn and an overview the technologies used.

Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the code file.

Table of Contents

  1. Preface
    1. What this book covers
    2. What you need for this book
    3. Who this book is for
    4. Conventions
    5. Reader feedback
    6. Customer support
      1. Downloading the example code
      2. Downloading the color images of this book
      3. Errata
      4. Piracy
      5. Questions
  2. Foundation of Meteor
    1. Setting up the development environment
    2. Building a Meteor app
    3. The frontend with React
      1. The React's state
        1. Adding state to a stateless function component
      2. Inheritance versus composition
      3. Adding a state to a component
      4. Meteor with React
        1. Adding and removing atmosphere packages in Meteor
        2. Integrating React with Meteor's reactive data system
        3. Explore MongoDB in the Meteor shell
        4. Publishing and Subscribing
          1. Improvements in the current code
    4. Summary
  3. Building a Shopping Cart
    1. Creating the project structure
    2. On the server
    3. Building the application components
      1. The ProductsContainer
        1. PropTypes
      2. The CartContainer
    4. Adding router to the application
      1. App.js
      2. ProductComponent.js
      3. The data containers
        1. BooksContainer.js
        2. MusicContainer.js
    5. Meteor methods
      1. Removing item from the cart
      2. Updating the quantity of an item in the cart
      3. Let's create another method that will calculate the cart's total price
    6. Considerations for scalability
      1. Basic validations on the server
      2. Defining a schema
      3. Defaults
    7. Summary
  4. Style Your React Components with Bootstrap and Material Design
    1. Mobile first
      1. Making it mobile friendly!
    2. Modular CSS with LESS
      1. Test it out!
    3. Modular CSS with Syntactically Awesome StyleSheets
    4. Bootstrap and Meteor
    5. Using CSS modules with Meteor
    6. Meteor and webpack styling the shopping cart
      1. Test it out!
      2. Test it out!
    7. Styling the shopping cart with Material Design Lite
      1. The grid
    8. Summary
  5. Real-Time Twitter Streaming
    1. Twitter streaming
      1. The application structure
    2. Meteor with Redux
      1. Redux and pure functions
      2. The Redux parts
      3. Why do we need Redux when we have Minimongo on the client?
    3. Building the App
      1. Folder structure client
      2. Getting the data from the collection
    4. Async actions in Redux
    5. Creating the App components
    6. Connecting the Redux store with the React components
      1. The containers and the components of the App
      2. The Filter components
      3. Tweets component
      4. The Sentiment component
      5. On the Server
      6. Test it out and improve it!
    7. Summary
  6. Developing Kanban Project Management Tool
    1. Drag and drop in React
      1. Test it out!
    2. Building the App
    3. The reducer function
    4. Building the Modal
      1. Test it out!
      2. Higher-Order Components
      3. Test it out!
    5. Summary
  7. Building a Real-Time Search Application
    1. Importing the data
    2. Index a text field
    3. Try it out!
    4. Building the app
      1. Test it Out!
    5. Summary
  8. Real-Time Maps
    1. Building the App
      1. The server side
      2. Test it out!
    2. Summary
  9. Build a Chatbot with Facebook’s Messenger Platform
    1. Building the app
      1. Training the bot
      2. Moving the chatbot to the Meteor app
      3. Test it out and improve it!
      4. Adding Cassandra to our stack
      5. Adding GraphQL to the stack
    2. Summary
  10. Build Internet of Things Platform
    1. What is gRPC?
      1. Test it out!
    2. Building the apps
      1. Test it out!
      2. Test it out!
      3. Test it and improve it!
    3. Summary