Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Progressive web apps (PWAs) allow us to provide rich offline experiences as native apps would, while still being easy to use and share, as web apps are. Learn how to turn your regular Rails app into a PWA, taking advantage of the front-end tools that come with Rails by default since version 7. Telos Labs Software Engineer Alicia Rojas covers exciting stuff such as: caching and providing an offline fallback, how to make your app installable, and performing offline CRUD actions with IndexedDB and Hotwire. Note: Most code samples from this talk belong to a case study of an application conceived for rural people living in areas lacking stable internet access, such as farmers and agricultural technicians. Links: https://rubyonrails.org/ https://hotwired.dev/ #RailsWorld #RubyonRails #progressivewebapps #Rails #Rails7 #Hotwire
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the video titled "Building an offline experience with a Rails-powered PWA," Alicia Rojas, a software engineer at Telos Labs, discusses how to convert a traditional Rails application into a Progressive Web Application (PWA) that supports offline functionalities. The presentation begins with a thorough explanation of what a PWA is: a web application that adopts modern APIs to enhance user experience with features akin to native apps, such as offline support and native-like installation capabilities. Key points covered in the talk include: - **Introduction to PWAs**: Rojas emphasizes the advantages of PWAs, such as improved performance, offline capabilities, and better SEO, combining features from both web and native applications. - **Case Study**: The need for a PWA arose from a request by the Chilean government for a tool aimed at farmers and agricultural technicians. The application’s design focused on usability in regions with unreliable internet access. - **PWA Setup**: To transform a Rails application into a PWA, Rojas discusses the necessity of adding a service worker, which runs in the background to manage caching and offline access, and a manifest file that informs the browser about the app's presentation and behavior. - **CRUD Operations**: The talk delves into how to implement create, read, update, and delete (CRUD) functionalities using Hotwire and IndexedDB, enabling the app to store data locally when offline and synchronize once internet access is restored. - **Challenges with IndexedDB**: Rojas highlights the complexity of using IndexedDB due to its reliance on asynchronous JavaScript but explains how the decision to use it was made for its ability to handle larger data types in a user-friendly manner. - **User Interface Enhancements**: Techniques for guiding user interactions with offline data and implementing functions like toggling online/offline preferences were discussed. The importance of validations and keeping both backend and frontend in sync was also emphasized. - **Compatibility Considerations**: Rojas advises on testing features against various browsers to avoid compatibility issues, especially focusing on service workers and APIs across different platforms. In conclusion, Rojas articulates the considerable benefits that PWAs can offer, such as accessibility and engagement with users in areas where internet connectivity is limited, providing a near-native experience without heavy reliance on JavaScript frameworks. Her documentation throughout the process aims to ensure that applications remain functional even when offline, enhancing the overall user experience. Rojas encourages audience members to reach out with any questions about PWAs, making herself available for further discussion.
Suggest modifications
Cancel