JavaScript Archives - Software Engineering Daily cover image

JavaScript Archives - Software Engineering Daily

Latest episodes

undefined
Oct 6, 2016 • 54min

ScalaJS with Haoyi Li

Scala is a functional programming language built on the JVM. For more than a decade, this didn’t mean anything to front end web developers. More recently, ScalaJS has brought Scala to the front end. ScalaJS is a project that compiles any Scala program down to JavaScript–so that all of your Scala programs can run on the browser. Haoyi Li has worked on ScalaJS extensively and has written an online book about ScalaJS. If you are a front end developer looking for a safer way to write your web apps, you will like this episode–or if you are a fan of functional programming. The post ScalaJS with Haoyi Li appeared first on Software Engineering Daily.
undefined
Jun 13, 2016 • 53min

JavaScript Concurrency with Kyle Simpson

JavaScript programming usually is done through the use of frameworks, such as ReactJS, AngularJS, and EmberJS. These frameworks abstract away some of the messy details of JavaScript, and simplify web development so that engineers can build products at a faster pace. When we build software using JavaScript frameworks, we are missing out on some of the richness of the JavaScript language itself. Kyle Simpson is the author of “You Don’t Know JS”, a series of books that suggests that JavaScript developers should start from the ground up, not from the top down. By learning the basics of JavaScript, a software engineer can learn the timeless fundamentals that will not disappear with the creation of next week’s hottest framework. After exploring the idea of frameworks versus raw JavaScript, Kyle and I discuss asynchronous JavaScript, from concurrency to the observer pattern.  The post JavaScript Concurrency with Kyle Simpson appeared first on Software Engineering Daily.
undefined
Jun 6, 2016 • 53min

Google’s Polymer Project with Rob Dodson

Smart phone apps have better performance than web apps. When we have an application that we use on a regular basis, we download that application to a smart phone rather than using the browser based version on our mobile browser. Google’s Polymer Project wants to improve the gap between native app performance and mobile web app performance. The key problem with the mobile web is that we are sending huge JavaScript bundles to mobile devices, which inhibits performance. The Polymer Project is working to build more functionality into our mobile browsers so that it is easier to load these heavy web applications. Rob Dodson is a developer advocate with Google. Today’s episode explores the past, present, and future of web application development, from jQuery to React to progressive web apps. The Polymer project also represents a push towards better support for people in developing countries, where internet connections are less reliable.  The post Google’s Polymer Project with Rob Dodson appeared first on Software Engineering Daily.
undefined
May 10, 2016 • 47min

React Data Flow with Jared Forsyth

React started as just a view layer–it was the V in MVC. React has moved down the stack, with Flux, Redux, GraphQL, and Relay providing opinions for how React applications should structure their data flow. Jared Forsyth works at Khan Academy, which uses React on the front end. At Khan Academy, Jared has experimented with many different ways of handling data flow for a React application, and in today’s episode we not only discuss the conventional tools for React applications, but also ClojureScript, Reframe, and Om/next, which are solutions for React data handling, that are outside of the world of raw JavaScript. The post React Data Flow with Jared Forsyth appeared first on Software Engineering Daily.
undefined
Apr 11, 2016 • 53min

JavaScript and Frontend Development with Marc Grabanski

“Seeing stuff happen is exciting in the early days. But when you try to be at the senior level, at the architect level, you have to understand that there is a cost to adopting a higher level abstraction.” Frontend web development was simpler in the past–CSS, HTML, and JavaScript were all you needed to know. Today, we have mobile web, React, Angular, PHP, JQuery, and so much more. Marc Grabanski focuses on what he believes is timeless–pure JavaScript. Marc is the founder of Frontend Masters, a training site for developers who want to build quality web interfaces. He joins us today to discuss the shifting nature of front end development. Questions In your opinion, how has web development changed and progressed in the last fifteen years? How has front-end evolved from jQuery to the more modern frameworks like Angular or React? What made people jump from Backbone to Angular? Where is the demarcation between front-end and back-end development? Why should people learn fundamental JavaScript instead of working with readymade frameworks? What is the issue with security relating to JavaScript? Have you learned anything interesting from working with Douglas Crockford? Links jQuery Backbone Meteor Rhino MVVM Request-response cycle React Conf Amazon dynamo paper Frontend Masters Douglas Crockford JavaScript: The Good Parts Marc’s page The post JavaScript and Frontend Development with Marc Grabanski appeared first on Software Engineering Daily.
undefined
Apr 5, 2016 • 50min

Code Analysis with Dan Silivestru and Gord Tanner

“JavaScript as a language is evolving year over year with new implementations and new language features, and we need to make sure we stay on top of those.” Code analysis tools can help a developer understand code. One tool for code analysis is bitHound, which provides code and dependency analysis for NodeJS applications. On today’s episode, we discuss how to use a code analysis tool–and we also talk about how to build one, by breaking down the distributed architecture of bitHound’s backend. Questions What is code analysis? Why does JavaScript need specific attention with regards to quality of code? Why is dependency analysis so important in Node applications? What are the challenges associated with building bitHound? Can you describe how you designed your master-slave architecture? Do you plan to expand your product to other languages besides JavaScript? What are your thoughts on the build vs buy debate? Links Linting bitHound Software brittleness Dependence analysis Deadlocks Vagrant Dan on Twitter Gord on Twitter The post Code Analysis with Dan Silivestru and Gord Tanner appeared first on Software Engineering Daily.
undefined
Mar 4, 2016 • 45min

Socket.IO and Realtime Applications with Guillermo Rauch

“Events provide a very nice organization over persistent connections and that’s why we chose them. We think they’re also a very fundamental way of thinking about systems.” Socket.io enables realtime bidirectional communication. But what does “realtime” actually mean? Today’s guest is Guillermo Rauch, the creator of Socket.IO, a widely used technology for client server communication. We discuss the nature of real-time apps like Uber and Google Docs, and talk about the API and usage of Socket.IO. Questions What is your definition of the term “realtime” and why do you disagree with the way it’s been applied to web applications? Is realtime more dependent on the user’s perception of speed, rather than the application’s actual performance? How did you arrive at the conclusion that the server should push data to clients as the central source of truth? What are some typical problems developers encounter when they’re dealing with connectivity issues? What are the important consequences of TCP that we should keep in mind as we are building real-time applications? How does Socket.IO work? What are the challenges to maintaining a persistent client-server connection, and how does Socket.IO achieve this? Links Google Acquires Writely Etherpad 7 Principles of Rich Web Applications Pure UI Socket.IO Guillermo’s page The Future of Real-Time with Guillermo Rauch Micro The post Socket.IO and Realtime Applications with Guillermo Rauch appeared first on Software Engineering Daily.
undefined
Feb 17, 2016 • 52min

Web Accessibility with Nic Steenhout

“But the bottom line is, accessibility is actually a challenge for coders, and I’ve yet to meet a coder that doesn’t like a good challenge.” Disabled individuals account for over a billion people worldwide. This represents the world’s largest minority on the Web, with $220 billion in discretionary spending power in the United States alone. Yet, the accessible web is more than a financial issue – it is also a moral issue, and it is crucial that we make the web accessible to ensure an equitable information platform. Today’s guest Nic Steenhout joins us to explain how to develop software with accessibility in mind. At the upcoming Fluent Conference, he will be giving a talk entitled Don’t turn off that JavaScript just yet, referencing JavaScript’s history of causing accessibility problems. If you want to win a free ticket to Fluent, tweet about your favorite episode of Software Engineering Daily and tag @fluentconf and @software_daily. Nic Steenhout is a software engineer and an accessibility consultant at Simply Accessible. Questions What is accessibility engineering? Why is accessibility so important for developers to focus on? What are the steps companies are taking to improve the accessibility of their products? How did you get involved in the field of accessibility? How have accessibility solutions evolved since the 90’s? How did your life change after you began using a wheelchair? What is something counterintuitive you have learned about accessibility? Links Simply Accessible: accessibility training, support, and testing Modals (pop ups) Screen reader Accessibility Engineering with Léonie Watson Nic’s personal page The post Web Accessibility with Nic Steenhout appeared first on Software Engineering Daily.
undefined
Feb 16, 2016 • 53min

Reactive Programming with Matthew Podwysocki

“The model-view-intent architecture is really cool and innovative – it’s basically combining the technologies of observables with the virtual DOM, and you’ve got this whole new paradigm of thinking.” Reactive programming emphasizes writing code that is readily responsive to events. It is an increasingly popular paradigm with highly interactive websites like Netflix. It draws on the value of functional programming calls like map, reduce, and flatmap. Matt joins us today to chat about reactive programming, the observer pattern, and his thoughts on where the future is going. If you are a fan of functional programming or JavaScript, you will enjoy this show. Matt is also speaking at the 2016 O’Reilly Fluent Conference. If you want to win a free ticket to the conference, tweet about your favorite episode of Software Engineering Daily and tag @fluentconf and @software_daily. Matt Podwysocki is the author ReactiveX JS and a software engineer at Microsoft. Questions What’s wrong with the approach of using callbacks and events to solve problems in JavaScript? What is reactive programming? What types of asynchrony problems does Netflix have to deal with? How can we broadly think about the challenges asynchronous applications face? Why can we think of events as collections? In what ways has the observer pattern been implemented incorrectly in the past? What is it like to participate in an open source project with so many big, influential players? What’s the future of ReactiveX? Links Observable Reactive programming Node Streams: How do they work? ReactiveX Observer Pattern Gang of Four Patterns Iterator pattern Cycle.js Model-view-intent Cortana Jafar Husain Matt on Twitter The post Reactive Programming with Matthew Podwysocki appeared first on Software Engineering Daily.
undefined
Feb 15, 2016 • 53min

npm with Laurie Voss

“Node doesn’t have dependency hell – JavaScript absolutely does.” Node.js powers an increasing number of applications in the modern web. As node’s popularity grew, npm evolved in parallel as its default package manager and it has become a robust system for sharing and developing node programs. Yet today, npm is growing beyond its roots, and poised to become a generalized framework for all kinds of workflows within web development. Laurie will be giving a talk at the 2016 O’Reilly Fluent Conference. If you want to win a free ticket to the conference, tweet about your favorite episode of Software Engineering Daily and tag @fluentconf and @software_daily. Laurie Voss is the CTO of npm, Inc. Questions What is special about node and npm? Was the vision from the beginning for npm to evolve into more than a package manager? What is useful for a developer to know about semantic versioning? What is a JavaScript runtime, and why would you consider Node to be a runtime? Why does JavaScript need a package manager? What does the company npm do? Where do you see web development going in the future? Links Laurie’s talk at Fluent npm Node.js Shrinkwrap greenkeeper Dr. Frankenstyle Node.js at PayPal Laurie on Twitter The post npm with Laurie Voss appeared first on Software Engineering Daily.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode