You are viewing content from a past/completed QCon

Presentation: RxJS: A Better Way to Write Frontend Applications

Track: JavaScript & Web Tech

Location: Seacliff ABC

Duration: 1:40pm - 2:30pm

Day of week: Monday

Level: Intermediate

Persona: Developer, Front-end Developer

Share this on:

Abstract

Everything that happens in a frontend application is asynchronous; events happen - a user types something, a server responds with data - and our programs react. The traditional approach to this problem is to deal with asynchronous "parts" of your application in callbacks or promises, while working with static data structures and behaving as if the rest of the program were synchronous. After years of writing frontend apps, I still find this confusing and cumbersome. But what if we stopped trying to hide what is asynchronous and accepted that none of our data is static? This is the premise of functional reactive programming. We treat data itself as asynchronous - as streams which represent a snapshot a given value over time, and operations that can transform those values. Functional reactive programming is a major conceptual shift but one that can vastly simply frontend programming. You can use it regardless of what platform, or in the case of the web, what javascript MVC you rely on. It's an amazing technique that is the core of my toolbox in writing frontend apps. I want to help demystify it for you, and show you how you can use FRP today!

Speaker: Hannah Howard

Senior Developer and Tech Generalist @carbonfive

Hannah Howard is a senior developer and tech generalist with over 15 years experience in programming and other technical fields. Prior to programming, Hannah worked for 10 years in the non-profit sector in Los Angeles, specializing in LGBT advocacy and community organizing. Hannah returned to coding in 2012, and brings her passion and experience from community organizing to helping new programmers get up to speed on technical topics.

Find Hannah Howard at

Tracks

  • Machine Learning for Developers

    AI/ML is more approachable than ever. Discover how deep learning and ML is being used in practice. Topics include: TensorFlow, TPUs, Keras, PyTorch & more. No PhD required.

  • Production Readiness: Building Resilient Systems

    Making systems resilient involves people and tech. Learn about strategies being used from chaos testing to distributed systems clustering.

  • Surviving Uncertainty: Regulation, Risk, and Compliance

    With so much uncertainty, how do you bulkhead your organization and technology choices? Learn strategies for dealing with uncertainty.

  • Languages of Infra

    This track explores languages being used to code the infrastructure. Expect practices on toolkits and languages like Cloudformation, Terraform, Python, Go, Rust, Erlang.

  • Building & Scaling High-Performing Teams

    Building, maintaining, and growing a team balanced for skills and aptitudes. Constraint theory, systems thinking, lean, hiring/firing and performance improvement

  • Evolving the JVM

    The JVM continues to evolve. We’ll look at how languages like Kotlin, Graal, Clojure, and Java are evolving the JDK. Expect polyglot, multi-VM, performance, and more in this track.

  • Trust, Safety & Security

    Privacy, confidentiality, safety and security: learning from the frontlines.

  • JavaScript & Transpiler/WebAssembly Track

    JavaScript is the language of the web. Latest practices for JavaScript development in and how transpilers are affecting the way we work. We’ll also look at the work being done with WebAssembly.

  • Modern Operating Systems

    Applied, practical & real-world deep-dive into industry adoption of OS, containers and virtualization, including Linux on.

  • Software Supply Chain

    Securing the container image supply chain (containers + orchestration + security + DevOps).

  • Modern CS in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Tech Ethics: The Intersection of Human Welfare & STEM

    What does it mean to be ethical in software? Hear how the discussion is evolving and what is being said in ethics.

  • Optimizing Yourself: Human Skills for Individuals

    Better teams start with a better self. Learn practical skills for IC.

  • Modern Data Architectures

    Today’s systems move huge volumes of data. Hear how places like LinkedIn, Facebook, Uber and more built their systems and learn from their mistakes.

  • Practices of DevOps & Lean Thinking

    Practical approaches using DevOps and a lean approach to delivering software.

  • Operationalizing Microservices: Design, Deliver, Operate

    What's the last mile for deploying your service? Learn techniques from the world's most innovative shops on managing and operating Microservices at scale.

  • Bare Knuckle Performance

    Killing latency and getting the most out of your hardware

  • Architectures You've Always Wondered About

    Next-gen architectures from the most admired companies in software, such as Netflix, Google, Facebook, Twitter, & more