It’s another potluck episode in which Wes and Scott answer your questions! This month - all things JS, go-to dev stacks, website security and the ever-changing nature of development.

Mlab - Sponsor mLab is the leading Database-as-a-Service for MongoDB, powering over half a million deployments worldwide. Wes and Scott use mLab to host their own databases as well as take care of backups, security, scaling and performance. Try out a sandbox database on your next mongoDB project → https://mlab.com.

Sanity.io - Sponsor Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get up and running by typing npm i -g @sanity/cli && sanity init in your command line. Get an awesome supercharged free developer plan on sanity.io/syntax.

Show Notes 3:33 - Would you ever consider doing a live Syntax show?

  • Yes! Get tickets at JAMstack_conf

4:31 - What are your thoughts on Flutter? Does React Native have some solid competition now?

  • Google’s answer to React Native.
  • Flutter
  • NativeScript

9:43 - What are your website security essentials for static and dynamic sites? What’s the deal with forms? Is it bad to put a form on my site with no server-side validation?

  • Not cool. Always do server-side validation.
  • Netlify
  • Cloudflare

14:55 - Do you have a ‘go-to’ stack when building new web apps? If so, what is it and how would you go about choosing the right stack for the project?

  • Scott - Gatsby for sites / Meteor Apollo, React, MongoDB for db needing accounts sites
  • Wes - Next.js, Express Backend + either MongoDB, DiskDB or Prisma (or hasura)

21:51 - What are your thoughts on 100 Days of Code Challenge?

  • Consistency and accountability.
  • The best way to get good.
  • 100 Days of Code

25:05 - I really have been learning a lot of React recently and have been wondering what is the difference between Next.js, Gatsby.js and vanilla React?

  • Dynamic vs static. What are your needs, how often does the content change.
  • Next.js

    • Use for dynamic needs
    • It can do static exports too
    • Convert to markdown
    • Nothing special other than Routing and SSR (Server request getInitialProps)
    • Gatsby.js

    • Use for static needs

    • Gatsby has lots of adapters

30:38 - What are websockets and when should they be used?

  • A request that is always open - it responds to events instead of pinging, pushing or pulling data

35:15 - I would love to hear your take on PWAs. Do either of you have any experience with building or using them?

  • Syntax Ep 50 - Progressive Web Apps

40:16 - I’m a nervous newbie who’s concerned about doing a web app that accepts payments or sensitive information. How can I know I’ve done everything to create a secure website and also protect myself from being sued by the client if their website gets hacked? I’m trying to be a jam stack developer so I’m looking at things like Snipcart and Stripe

  • Don’t save sensitive info in plain text. Use services that make it tough to do that until you are confident.
  • Look up PIPEDIA

43:23 - What is a JavaScript generator? I heard that async/await creates a “generator” under the hood.

  • Pausable function that can return multiple values - call .next() on it

46:54 - Are web components worth it in 2018?

  • Web Components
  • Polymer
  • Svelte

49:52 - How soon the designers replace React Developers with the invent of tools like Framer X?

  • Not soon.
  • Your job is changing and will continually change
  • SouthPark - They Took Our Jobs!

56:52 - Have you, or anyone you know ever thought of quitting the industry because of difficulties you have run into?

××× SIIIIICK ××× PIIIICKS ××× * Scott: EGO Lawn Tools * Wes: B is for Build YouTube Channel

Shameless Plugs * Scott’s Level Up Pro Subscription * Wes’ Advanced React Course

Tweet us your tasty treats! * Scott’s Instagram * LevelUpTutorials Instagram * Wes’ Instagram * Wes’ Twitter * Wes’ Facebook * Scott’s Twitter * Make sure to include @SyntaxFM in your tweets