Progressive Web Applications feat. Eric Elliott


    React Native Radio | Episode 113 


    • Nader Dabit

    Special Guest: Eric Elliott

    In today’s episode of the React Native Radio podcast, Nader Dabit speaks with Eric Elliott. Eric shares his experience with building Progressive Web Applications and the advantages of these types of applications. Eric explains the topics like Service Workers, Caching, Frameworks, and Compiling and much more. This is a great episode to learn more about PWAs or Progressive Web Applications.

    Topics and Questions:

     0:45 –  Todays discussion cover PWAs (Progressive Web Application) and where they fall in the category of development for mobile

     0:55 –  Eric is the author of Programming JavaScript Applications and Composing Software. Eric also worked with Adobe and help build Adobe Creative Cloud, previously Eric built video applications for the BBC network, and had created music applications that are currently apart of Youtube’s artist pages.

    1:50 –  Nader ask about what Eric does day to day and What a good definition for PWAs. Eric share what a PWA is and how it fits intro building web apps.

    4:00 –  Nader asks about the ICONS. Eric shares how the icons are loaded on and off the web. Nader ask what operating systems does this work on? Eric share about the iOS platform and Android platform. Eric share how this integrates on all major platform like Amazon.

    6:00 –  Nader ask about the how to get this, thought the app stores? Nader talks about how this updates, rather it is through the app store or other ways. Eric talks about how these apps are Web Views and are deployed on the server.

    9:50 –  Nader and Eric discuss Cordova and its similarities. Nader ask about the topic of discovery. Eric talks about room or app space on consumers devices. Eric talks about Malware in applications from the app store.

    12:00 –  Eric talks about where people spend most of their time discovering apps, and it is mostly via the web, and hardly in the app store because of the ads and malware. Eric talks about the key advantages of a PWA app.

    14:00 –  Nader talks about the different of app size of a regular app verses and PWA applications. Nader asks about what Service Workers. Eric explains how Service Workers are a kind of a caching layer. Eric explains how this caching layer help load the app offline. Eric talks about Size Limits on the Service Worker. Eric goes into how the Service Worker is like hitting the network.

    18:00 –  Nader asks about the actual name of the Caching aspect. Eric explains that he forgets that it is there after it is setup. But he calls it the Service Worker Cache. Nader ask about mutations and updating the UI. Eric talks about transactional mutations.

    21:00 –  Nader asks about  where to learn more about  how to work offline with the Service Worker. Eric direct people to his blog posts. Eric says these need to be HTTPS for them to function. Eric also suggest stay on top of the devices. Eric talks about how some of these apps sometimes work better with Chrome and other platforms.

    25:00 –  Nader ask about the performance of PWAs, and do they need to be a single page app?  Or can they be built using a traditional server side build. Eric talks about rendering on the server side and other aspect of traditional server side rendering.

    27:00 –  Nader ask about what kind of Framework is need to build. Eric says he uses Next.js as a framework to build because it make page load faster. Eric says this is by far he favorite Universal Framework. Nader and Eric praise Next.js as a great tool.

    31:00 –  Nader ask about performance and latency. Nader ask about opinions on technology use for the APIs. Eric suggest the situation as a way to gauge to pick the API tool like GraphQL, Rust, and others. Eric thinks GraphQL is best for an MVP.

    33:00 –  Nader asks about transition when building the PWAs. Eric says this can be express when using Next.js, because it can be done later.

    37:00 –  Nader asks if Eric like to use Type JavaScript or Vanilla JavaScript. Eric says he like Vanilla JavaScript. Eric talks about TDD and Code Reviews. Eric talks about the need for more studies on improving code quality and Tests.

    41:00 –  Eric continues with higher order function and TypeScripts. Eric talks about his past experience with TypeScript. Eric talks about TypeScript and bugs and working in the IDE. Nader talks more on the issues with using TypeScrit.

    44:00 –  Nader ask about using Dart and Flutter for compiling to JS. Eric ask about how these work for him on his end of development and how they are similar to other technologies. Eric explains that he just like to stay in JavaScript. Eric talks about Haskell. Eric talks about how he like flexible type systems.

    48:00 – Nader talks about how the popular features of these technologies are being integrated in other types languages.

    50:00 –  Eric talks about composition and extraction and the importance of getting good at this building blocks. Eric talks about function and object composition and their importance in building applications.

    52:00 –  Nader ask about the book Composing Software. Eric explains how to gain sight for composing.