QCon Munich 2020 has been canceled. See our current virtual and in-person events.

You are viewing content from a past/completed QCon -

Presentation: npm and the Future of JavaScript

Track: JavaScript & Web Tech

Location: Seacliff ABC

Duration: 11:50am - 12:40pm

Day of week: Monday

Slides: Download Slides

Level: Intermediate

Persona: Architect, Backend Developer, Developer, Front-end Developer

This presentation is now available to view on InfoQ.com

Watch video with transcript

What You’ll Learn

  1. Learn what npm knows about JavaScript users and understand how JavaScript usage patterns are changing.
  2. Understand more about JavaScript security, tools, and future direction.
  3. Hear about how JavaScript is powering and enabling more and more server-side work, including serverless applications.

Abstract

npm has more than 10 million users, and they download 7 billion packages a week. We also ran a direct survey of 16,000 JavaScript devs this year. That gives us more data about what JavaScript users are doing and where the community is going than anybody else. Let us tell you about yourselves, without bias, without trying to sell you on something. This talk is about what tools you use, what the community believes best practices really are, what frameworks are on the rise and which are on the wane, and where the major pain points are for devs right now. Let us help you plan your technical choices in 2019.

Question: 

Can you tell me more about what your talk is about?

Answer: 

I'll talk more about server-side stuff, and I’ll emphasize Node. We've found that the security message is important to people, so there will be quite a bit there. There's been this huge shift in how JavaScript is used and enterprises are only just beginning to catch up to that. There are many people working on JavaScript, and they're not just throwing script tags into web pages. They are writing huge chunks of very valuable IP for you.

There's all of these other languages (Java, Python, and C). They have institutional knowledge about how to manage this stuff, how to grow people in their jobs, how to manage large projects, and that stuff is only being haphazardly (or not at all) applied to the JavaScript space. So one of the messages that we're trying to get across is this is actually a huge chunk of what you do now. Your website may contain thousands and thousands of open source modules that you're not paying attention to. You don't know what's in them, and you spend all of this time training your developers to write secure code but 97% of the code in your website is coming from our servers and you should really be looking at that as well.

Question: 

Who is your target audience?

Answer: 

It's a talk that I've stopped giving at JavaScript-focused conferences because it's mostly landed now, but at an enterprise, heavy-Java background conference like this, I would probably step back a couple of years in terms of the focus of the talk. You should be taking JavaScript seriously because it's a huge part of your budget.

Also, I'm trying to give predictions about what you should be doing in 2019. People generally find that pretty useful.

Question: 

When you plan to discuss the future of JavaScript. Does this mean things like leveraging transcompiler for the latest JavaScript releases?

Answer: 

Yes, that's one of them, transpilation and stuff like that. Transpilation is basically the userland showing the standards bodies where to go.

My favorite example is Backbone versus jQuery. Backbone is a framework that lived and died, and other frameworks came to replace it. jQuery didn't die. jQuery transcended. The API that jQuery invented became part of the browser. Nobody ever stopped using jQuery, they just stopped using the library that provided it, and now all browsers provide CSS selectors for DOM manipulation which was jQuery’s primary invention.

So there's a bunch of stuff we're doing where the browser manufactures and Node are being shown what it is that users actually want. For example, if 42% of people are using types, then JavaScript should be considering types. If 60% of web developers are using the React model to build component based websites then, even though Web Components exist that means:

  • web components are not going to work (otherwise, we'd be using them)
  • some kind of native component model is going to be necessary

The failure of Web Components does not mean that people don't like components it means they don't like these Web Components. These are things that we can see at the package manager level.

Speaker: Laurie Voss

Co-Founder & Chief Operating Officer @npmjs

I’ve been a web developer for 22 years and I’m currently the co-founder and COO of npm, Inc. I care deeply about making the web bigger, better and accessible to everyone.

Find Laurie Voss at

Last Year's Tracks

  • Monday, 16 November

  • Mechanical Sympathy: The Software/Hardware Divide

    Understanding the Hardware Makes You a Better Developer

  • Paths to Production: Deployment Pipelines as a Competitive Advantage

    Deployment pipelines allow us to push to production at ever increasing volume. Paths to production looks at how some of software's most well known shops continuous deliver code.

  • Java, The Platform

    Mobile, Micro, Modular: The platform continues to evolve and change. Discover how the platform continues to drive us forward.

  • Security for Engineers

    How to build secure, yet usable, systems from the engineer's perspective.

  • Modern Data Engineering

    The innovations necessary to build towards a fully automated decentralized data warehouse.

  • Machine Learning for the Software Engineer

    AI and machine learning are more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice by Software Engineers.

  • Tuesday, 17 November

  • Inclusion & Diversity in Tech

    The road map to an inclusive and diverse tech organization. *Diversity & Inclusion defined as the inclusion of all individuals in an within tech, regardless of gender, religion, ethnicity, race, age, sexual orientation, and physical or mental fitness.

  • Architectures You've Always Wondered About

    How do they do it? In QCon's marquee Architectures track, we learn what it takes to operate at large scale from well-known names in our industry. You will take away hard-earned architectural lessons on scalability, reliability, throughput, and performance.

  • Architecting for Confidence: Building Resilient Systems

    Your system will fail. Build systems with the confidence to know when they do and you won’t.

  • Remotely Productive: Remote Teams & Software

    More and more companies are moving to remote work. How do you build, work on, and lead teams remotely?

  • Operating Microservices

    Building and operating distributed systems is hard, and microservices are no different. Learn strategies for not just building a service but operating them at scale.

  • Distributed Systems for Developers

    Computer science in practice. An applied track that fuses together the human side of computer science with the technical choices that are made along the way

  • Wednesday, 18 November

  • The Future of APIs

    Web-based API continue to evolve. The track provides the what, how, and why of future APIs, including GraphQL, Backend for Frontend, gRPC, & ReST

  • Resurgence of Functional Programming

    What was once a paradigm shift in how we thought of programming languages is now main stream in nearly all modern languages. Hear how software shops are infusing concepts like pure functions and immutablity into their architectures and design choices.

  • Social Responsibility: Implications of Building Modern Software

    Software has an ever increasing impact on individuals and society. Understanding these implications helps build software that works for all users

  • Non-Technical Skills for Technical Folks

    To be an effective engineer, requires more than great coding skills. Learn the subtle arts of the tech lead, including empathy, communication, and organization.

  • Clientside: From WASM to Browser Applications

    Dive into some of the technologies that can be leveraged to ultimately deliver a more impactful interaction between the user and client.

  • Languages of Infra

    More than just Infrastructure as a Service, today we have libraries, languages, and platforms that help us define our infra. Languages of Infra explore languages and libraries being used today to build modern cloud native architectures.