A Tasty Treats Podcast for Web Developers.

Ask a Potluck Question →
Wes Bos

Wes Bos

Full Stack JavaScript Developer. Creator of really good web development courses. BBQ enthusiast.

Scott Tolinski

Scott Tolinski

Web Developer, Creator of Level Up Tuts, Bboy, Robotops Crew and Youtuber

Playing: 270: Meteor's 2nd Life

0:00

LOUDNESS

Jul 29th, 2020

Meteor's 2nd Life

👇 Download Show✏️ Edit Show Notes

In this episode of Syntax, Scott and Wes talk with Filipe Névola about Meteor and the exciting things happening in the Meteor world!

LogRocket - Sponsor

LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It's an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax.

Sentry - Sponsor

If you want to know what's happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code "tastytreat".

Guests

Show Notes

01:20 - What is your background?

03:41 - What exactly is Meteor?

12:00 - What are the biggest misconceptions of modern meteor?

18:20 - What do you say to people who think Meteor is dead?

21:33 - How does data get from your Meteor into your React app?

  • Example of getting data on client side
import { useTracker } from 'meteor/react-meteor-data'

// Hook, basic use, everything in one component
const MyProtectedPage = (pageId) => {
  const { user, isLoggedIn, page } = useTracker(() => {
    // The publication must also be secure
    const subscription = Meteor.subscribe('page', pageId)
    const page = Pages.findOne({ _id: pageId })
    const user = Meteor.user()
    const userId = Meteor.userId()
    const isLoggingIn = Meteor.loggingIn()
    return {
      page,
      isLoading: !subscription.ready(),
      user,
      userId,
      isLoggingIn,
      isLoggedIn: !!userId
    }
  }, [pageId])

  if (!isLoggedIn) {
    return <div>
      <Link to="/register">Create an Account</Link>
      <Link to="/login">Log in</Link>
    </div>
  }

  return <div>
    <h1>{page.title}</h1>
    <p>{page.content}</p>
    <a href="#" onClick={(e) => { e.preventDefault(); Meteor.logout(); }}>Log out ({user.username})</a>
  </div>
}

27:50 - What do you think is the ideal usecase for Meteor?

31:09 - Why did Meteor 1.0 fail to maintain hype?

36:41 - What does Meteor's future look like?

45:27 - Are there any plans to integrate serverless into Meteor?

46:55 - Any little known features of Meteor that people might be interested in?

××× SIIIIICK ××× PIIIICKS ×××

Shameless Plugs

Tweet us your tasty treats!