Mobile app developers Loren Aguey, Harout Boujakjian, Andréas Kühne, Jeyfrin, and Joshua discuss the role of Python in building mobile apps. They explore different frameworks like Flutter, Swift, Kivy, and Ionic, highlighting their advantages and challenges. The chapter also covers topics such as backend services, app store challenges, and the use of packages for mobile app development. Exciting insights are shared about building mobile apps with Python, offering valuable perspectives to app developers.
Ionic framework allows for cross-platform app development using a single codebase and provides offline functionality through libraries like SQLite.
Python Django is a reliable and continuously updated backend framework for app development with features like Django ORM and Redis.
Choosing the right app development framework should be based on familiarity, native functionality, customizability, community support, and app store acceptance.
Deep dives
Ionic framework for cross-platform development
Andreas discusses how the Ionic framework allows for the development of applications that can be delivered to websites, Android, and iOS using a single codebase. The framework is built on Angular and provides connectors to phone features like push notifications, camera, and photo library. While the app Andreas works on requires internet access, Ionic allows for offline functionality by using libraries like SQLite for local storage. The framework also provides style sheets for each platform, ensuring the app looks native on Android and iOS.
Python Django powering Andreas' backend
Andreas explains that the backend of his app utilizes Python Django. The app has recently migrated to AWS and runs on Kubernetes. They use Django's latest versions, and the dependencies were updated recently. Andreas mentions that they are a Django shop and use Django rest framework for creating APIs. They have experience with Django's ORM for working with the database and also leverage libraries like Redis. The team has also consolidated Ruby on Rails servers into Django. Overall, they are pleased with the backend architecture and Django's continuous updates.
Lauren's app with Flutter and Python Flask
Lauren discusses her use of Flutter and Python Flask for her app development. She mentions being a Flutter developer and utilizing libraries like Pub, Dev, and Flutter's rich package system. For backend functionality, Lauren is using Flask as a Python API. The Talk Python mobile app integrates with Talk Python training's backend written in Python. The app enables users to consume video courses, track their progress, and stay in sync with the web app. Lauren mentions using state management libraries like Block to handle state and Hydrated Block for state persistence. She also plans to incorporate Python and Flask for handling push notifications and other backend functionalities.
Choosing the Right Framework for App Development
The podcast episode discusses the process of choosing the right framework for app development. The speakers highlight the importance of selecting a framework based on familiarity and expertise rather than purely going for the trendiest or most popular options. They share their experiences with frameworks like Swift, React Native, Flutter, and Kivy, emphasizing the need to consider factors such as native functionality, customizability, community support, and app store acceptance. The speakers also touch upon the benefits and challenges of using frameworks like SwiftUI, FastAPI, and Ionic. Overall, the episode explores the various considerations and decisions involved in choosing the most suitable framework for app development.
Overcoming App Store Challenges and Automation Options
In this part of the podcast, the speakers discuss the challenges related to publishing apps in the app store and share their experiences. They highlight the need for a Mac to publish iOS apps and the importance of automating the app submission process to save time and avoid repetitive tasks. They mention the availability of various CI/CD platforms like GitHub Actions, Circle CI, and CodeMagic for automating app store submissions and offer advice on app store guidelines, privacy, and SDK updates. The speakers also talk about the ease of publishing native apps in the app store compared to web apps and emphasize the significance of checking the presence of apps developed with the chosen framework in the app store to ensure its viability and acceptance. The episode ends on a positive note, emphasizing the endless possibilities and creativity in mobile app development.