Elixir Wizards

HTTP Requests in Elixir vs. JavaScript with Yordis Prieto & Stephen Chudleigh


Listen Later

In today’s episode, Sundi and Owen are joined by Yordis Prieto and Stephen Chudleigh to compare notes on HTTP requests in Elixir vs. Ruby, JavaScript, Go, and Rust. They cover common pain points when working with APIs, best practices, and lessons that can be learned from other programming languages.

Yordis maintains Elixir's popular Tesla HTTP client library and shares insights from building APIs and maintaining open-source projects. Stephen has experience with Rails and JavaScript, and now works primarily in Elixir. They offer perspectives on testing HTTP requests and working with different libraries.

While Elixir has matured, there is room for improvement - especially around richer struct parsing from HTTP responses. The discussion highlights ongoing efforts to improve the developer experience for HTTP clients in Elixir and other ecosystems.

Topics Discussed in this Episode
  • HTTP is a protocol - but each language has different implementation methods
  • Tesla represents requests as middleware that can be modified before sending
  • Testing HTTP requests can be a challenge due to dependence on outside systems
  • GraphQL, OpenAPI, and JSON API provide clear request/response formats
  • Elixir could improve richer parsing from HTTP into structs
  • Focus on contribution ergonomics lowers barriers for new participants
  • Maintainers emphasize making contributions easy via templates and clear documentation
  • APIs drive adoption of standards for client/server contracts
  • They discuss GraphQL, JSON API, OpenAPI schemas, and other standards that provide clear request/response formats
  • TypeScript brings types to APIs and helps to validate responses
  • Yordis notes that Go and Rust make requests simple via tags for mapping JSON to structs
  • Language collaboration shares strengths from different ecosystems and inspires new libraries and tools for improving the programming experience
  • Links Mentioned

    Elixir-Tesla Library: https://github.com/elixir-tesla/tesla

    Yordis on Github: https://github.com/yordis
    Yordis on Twitter: https://twitter.com/alchemist_ubi
    Yordis on LinkedIn: https://www.linkedin.com/in/yordisprieto/
    Yordis on YouTube: https://www.youtube.com/@alchemistubi
    Stephen on Twitter: https://twitter.com/stepchud
    Stephen's projects on consciousness: https://harmonicdevelopment.us
    Owen suggests: Http.cat
    HTTParty: https://github.com/jnunemaker/httparty
    Guardian Library: https://github.com/ueberauth/guardian
    Axios: https://axios-http.com/
    Straw Hat Fetcher: https://github.com/straw-hat-team/nodejs-monorepo/tree/master/packages/%40straw-hat/fetcher
    Elixir Tesla Wiki: https://github.com/elixir-tesla/tesla/wiki
    HTTPoison: https://github.com/edgurgel/httpoison
    Tesla Testing: https://hexdocs.pm/tesla/readme.html#testing
    Tesla Mock: https://hexdocs.pm/tesla/Tesla.Mock.html
    Finch: https://hex.pm/packages/finch
    Mojito: https://github.com/appcues/mojito
    Erlang Libraries and Frameworks Working Group: https://github.com/erlef/libs-and-frameworks/ and https://erlef.org/wg/libs-and-frameworks

    Special Guests: Stephen Chudleigh and Yordis Prieto.

    ...more
    View all episodesView all episodes
    Download on the App Store

    Elixir WizardsBy SmartLogic LLC

    • 4.9
    • 4.9
    • 4.9
    • 4.9
    • 4.9

    4.9

    22 ratings


    More shows like Elixir Wizards

    View all
    Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

    Software Engineering Radio - the podcast for professional software developers

    262 Listeners

    The Changelog: Software Development, Open Source by Changelog Media

    The Changelog: Software Development, Open Source

    285 Listeners

    Startups For the Rest of Us by Rob Walling

    Startups For the Rest of Us

    694 Listeners

    Software Engineering Daily by Software Engineering Daily

    Software Engineering Daily

    630 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    985 Listeners

    REWORK by 37signals

    REWORK

    212 Listeners

    CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

    CoRecursive: Coding Stories

    185 Listeners

    Elixir Mix by Charles M Wood

    Elixir Mix

    13 Listeners

    The Stack Overflow Podcast by The Stack Overflow Podcast

    The Stack Overflow Podcast

    63 Listeners

    Thinking Elixir Podcast by ThinkingElixir.com

    Thinking Elixir Podcast

    31 Listeners

    Beam Radio by Lars Wikman

    Beam Radio

    11 Listeners

    Software Unscripted by Richard Feldman

    Software Unscripted

    26 Listeners

    Oxide and Friends by Oxide Computer Company

    Oxide and Friends

    47 Listeners

    Elixir Mentor by Jacob Luetzow

    Elixir Mentor

    2 Listeners

    Elixir Friends by German Velasco

    Elixir Friends

    0 Listeners