Building iOS apps using Hotwire / Turbo.js with Joe Masilotti
Apr 30, 2021
auto_awesome
Joe Masilotti, an experienced developer, discusses building iOS apps using Hotwire/Turbo.js. Topics include early days with Turbolinks, JavaScript Bridge, Progressive Enhancement, Authentication, App Store approval, payments, testing on TestFlight, Android development, and where to follow Joe online.
Hybrid app development using Turbo Links and Turbo Native allows for the creation of mobile apps that combine web and native development, resulting in faster development time, code reuse, and leveraging existing Rails infrastructure.
Authentication in hybrid app development can be achieved by combining web view authentication and native authentication, providing seamless authentication across web and native contexts.
Testing and deployment in hybrid app development is made easy with Turbo Links and Turbo Native, allowing for testing through tools like TestFlight and automating the build and uploading process with Fastlane.
Deep dives
Hybrid App Development with Turbo Links and Turbo Native
Hybrid app development allows for the creation of mobile apps using Turbo Links and Turbo Native. By leveraging these technologies, developers can build mobile apps that combine the best of web and native development. Turbo Native provides an adapter for iOS and Android, making it possible to create hybrid apps with the familiar Turbo Links workflow. This approach offers numerous benefits, including faster development time, code reuse, and the ability to leverage existing Rails infrastructure. Hybrid apps can be easily tested and distributed using tools like TestFlight, and the path configuration feature allows for customizing the app's behavior based on different environments. With Turbo Links and Turbo Native, developers can build powerful, feature-rich mobile apps that are both efficient and user-friendly.
Authentication and Navigation in Hybrid Apps
Authentication and navigation are key considerations in hybrid app development. With Turbo Native, developers can handle authentication by using a combination of web view authentication and native authentication. The web view handles the initial login and session creation, while the native app handles subsequent authenticated requests by passing in an authentication token. This approach allows for seamless authentication across both the web and native contexts. Navigation in hybrid apps can be achieved through a combination of web views and native controllers. By leveraging the path configuration feature in Turbo Native, developers can route specific URLs to either web views or native controllers, providing a consistent and intuitive navigation experience for users.
Testing and Deployment with Turbo Links and Turbo Native
Testing and deployment are essential aspects of hybrid app development. Turbo Links and Turbo Native make it easy to test and distribute apps using tools like TestFlight. Developers can use Fastlane, a Ruby gem, to automate the build, signing, and uploading process for iOS and Android apps. The TestFlight platform allows for the distribution of beta builds to select testers, who can provide feedback and report bugs. Additionally, developers can configure different environments for their apps, such as development, staging, and production, by leveraging environment variables and conditional statements. This allows for seamless integration with existing development and deployment workflows.
App Store Approval and Monetization Considerations
App Store approval and monetization are important considerations for hybrid app developers. While there are specific guidelines set by Apple, the app store has become more open to hybrid apps, as long as they provide unique and valuable features. It's crucial to understand the rules and regulations related to in-app purchases, as Apple requires a cut for digital goods and subscriptions. Developers should consult Apple's guidelines and consider using a native payment solution, like Stripe's mobile SDK, to ensure compliance. Open communication with Apple and a thorough understanding of their policies will help developers navigate the app store approval process and successfully monetize their hybrid apps.
Future of Hybrid App Development with Turbo Links and Turbo Native
The future of hybrid app development with Turbo Links and Turbo Native looks promising. These technologies offer a powerful and efficient approach to building mobile apps that combine the best of web and native development. With the continuous updates and improvements to Turbo Native, developers can expect even more features and capabilities, making it easier to build and maintain hybrid apps. The growing community of hybrid app developers and the availability of resources like tutorials and documentation will further contribute to the adoption and success of Turbo Links and Turbo Native in the mobile app development landscape.
[00:01:59] Jason tells us about WNB.rb, which is a new virtual community for women and non-binary Rubyists to get involved in.
[00:03:23] Joe tells us all about himself and what he does.
[00:05:08] We learn how it was in the early days when Joe was just using the Turbolinks version.
[00:09:20] Joe tells us things he’s built in the past especially when people are trying to convert their app to mobile.
[00:13:48] JavaScript Bridge is talked about, how to use it, and how Joe learned about it.
[00:19:48] Joe explains Progressive Enhancement.
[00:22:51] Joe touches on the concept of the Path Configuration and he explains what it does.
[00:29:39] Find out Joe’s thoughts on Authentication. Do we have to do OAuth and all that? Joe and Chris also mention the Turbo Failure App and the Turbo Native App.
[00:36:52] Jason asks Joe if he’s had any trouble with the App store in terms of approval processes.
[00:38:54] Chris wonders if you do payments, will you have to use Stripes Mobile SDK instead of the web version or do you have to go through the App store payments.
[00:41:06] Joe tells us the process of when you build your app and get it working, how to test it on your phone and submit it to the app store. He mentions using TestFlight and using a Ruby gem called fastlane.
[00:46:08] Joe talks about Android and how a lot of the same approaches from iOS will apply for your Android.
[00:49:58] Find out where you can follow Joe on the internet.