Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Navigating the Spooky World of JavaScrypt in 2018

πŸ‘» πŸŽƒ 🍫

by Ali Spittel
(@aspittel)

Roadmap

Why is JavaScrypt scary?

It's moving really fast!

All the frameworks and libraries, their apis, and ecosystems surrounding them are changing! Even the language itself has changed!

My JavaScrypt Story

Started writing JavaScript in 2015

Teach people how to code

How Can we Face our JavaScrypt Fears?

Focus on the Fundamentals

The fundamentals of the language are never going to change that dramatically, so being knowledgeable about the ins and the outs of it can only help you.

Focus on the Fundamentals

Intermediate JavaScript Concepts are Really Helpful

Focus on the Fundamentals

Knowing the fundamentals really well makes frameworks much more helpful and so much easier to learn! Underneath the hood, these frameworks and libraries are just JavaScript anyways -- they aren't magic!

You May Not Need More

Your project may never need to use a framework or library -- GitHub runs on vanilla JavaScript and Hacker News runs on 150 lines of unminified JS total. Plus your site will be lighter weight!

Shiny Object Syndrome

Shiny Object Syndrome

Shiny object syndrome is when you see a new thing and immediately want to drop everything and focus on that shiny object. In tech, that may mean that you re-write your applications every time a new library is on the horizon.

Shiny Object Syndrome

Me:

Curing Shiny Object Syndrome:

You don't need to know everything

Curing Shiny Object Syndrome:

Focus on depth over breadth

Easier to learn another you know one really well

Curing Shiny Object Syndrome:

Don't migrate to the newest thing immediately

Let somebody else deal with the early bugs

React just surpassed JQuery in Google searches

Choose Wisely: How to Choose Tools

Is it well used? If it has a community behind it then it's more likely to have contributors and frequent iteration on features and bug solving. Also, it's more likely to have staying power.

Choose Wisely: How to Choose Tools

Who is the community behind the project? Is it a large company? Do they have a code of conduct? How do they treat new users? What does the license look like (looking at you React)?

Choose Wisely: How to Choose Tools

Are there frequent breaking changes? You don't want to have to make major code updates in order to keep the tool up to date. Also, it may make researching the tool difficult. Looking at you Elm and Angular.

Choose Wisely: How to Choose Tools

What features make this tool better than the alternatives? Does it do something extra? Or solve some problem other tools don't?

Choose Wisely: How to Choose Tools

Does it fit your team? If your team is mostly junior developers, for example, does the framework have good learning resources and documentation? If you have mostly functional programmers does the tool fit that paradigm?

Choose Wisely: How to Choose Tools

Is the documentation good? This is so important for being able to use the technology easily.

Choose Wisely: How to Choose Tools

How does the code look? Does the codebase look well written and maintainable?

Choose Wisely: How to Choose Tools

Is the library performant?

Choose Wisely: How to Choose Tools

There's no singular right answer here -- if the technology works well for your team, it’s the right solution no matter what some thought leader says on Twitter.

Staying Up to Date

Follow JavaScript people on Twitter -- like @dan_abramov, @addyosmani, @getify, @wesbos, and @sarah_edo

News Sources: dev.to, CSS Tricks, Smashing Mag, JavaScript Weekly

JavaScrypt Isn't that Spooky

JavaScript isn't actually moving at the speed of light. React, Vue, and Angular have all been around for over four years

Great that JavaScript and frontend development in general is evolving

Bonus: My Shiny Objects Right Now

Hyperapp

CSS Houdini

Progressive Web Apps

Keep in Touch!

@aspittel

/in/aspittel

dev.to/aspittel

alispit.tel

aspittel