<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/mobile-dev/best-of/2024" -->

---
title: Best mobile-dev posts of 2024 | daily.dev
description: The most upvoted mobile-dev posts of 2024, curated by the daily.dev community.
canonical: https://daily.dev/tags/mobile-dev/best-of/2024
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/mobile-dev/best-of/2024
og:type: website
og:site_name: daily.dev
og:title: Best mobile-dev posts of 2024 | daily.dev
og:description: The most upvoted mobile-dev posts of 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of mobile-dev — 2024

1. 1  
[](/posts/painnn--uubabqudb "Painnn 😭")  
Article  
![Avatar of watercooler](https://media.daily.dev/image/upload/s--abas6DOY--/f_auto/v1785668288/squads/fd062672-63b7-4a10-87bd-96dcd10e9613?_a=BAMAMicg0)Watercooler · 2y  
Painnn 😭  
Discover the biggest fear of web developers and how folding smartphones are impacting the industry.  
185  
20
2. 2  
[](/posts/dio-jwt-in-flutter-solution-of-async-hell-dzmnvlewn "Dio + JWT in Flutter — Solution of async hell")  
Article  
![Avatar of flutter_com](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/flutter_com)Flutter Community · 2y  
Dio + JWT in Flutter — Solution of async hell  
JWTs, or JSON Web Tokens, are used for authorization in backend services by providing access and refresh tokens. In Flutter, handling async HTTP requests can lead to multiple token refresh attempts when access tokens expire. To manage this, Dio's QueuedInterceptor can queue requests and handle tokens more efficiently. Key functionalities include a token validator, request refresher, and a request retry mechanism to ensure smooth operation and security.  
38
3. 3  
[](/posts/how-to-release-your-flutter-app-on-the-ios-app-store-srf1ece39 "How to Release Your Flutter App on the iOS App Store")  
Article  
![Avatar of codewithandrea](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/f57ff93b416640bd8675ee26eef6d777)Code with Andrea · 2y  
How to Release Your Flutter App on the iOS App Store  
The post provides a comprehensive guide to releasing your Flutter app on the iOS App Store. It covers critical steps including enrolling in the Apple Developer Program, registering your App ID, creating your app in App Store Connect, preparing your app for review, creating a Privacy Manifest in Xcode, updating Xcode project settings, and finally, building, uploading, and submitting your app for review. The guide also highlights trade-offs of selling apps on the App Store, such as revenue cut and review delays.  
21  
1
4. 4  
[](/posts/how-we-reduced-flutter-memory-usage-by-375mb-image-optimization-strategies-acxcpn5ul "How We Reduced Flutter Memory Usage by 375mb: Image Optimization Strategies")  
Article  
![Avatar of medium_js](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/medium)Medium · 2y  
How We Reduced Flutter Memory Usage by 375mb: Image Optimization Strategies  
Efficient image handling is crucial in mobile app development to enhance performance and user experience. Key strategies include using appropriate file types like WebP, resizing, caching with the \`cached\_network\_image\` package, and implementing lazy loading. Tools like Flutter DevTools, Widget Inspector, and the \`VisibilityDetector\` widget help diagnose and resolve performance issues. By balancing image quality and resource usage, developers can significantly reduce memory consumption and improve app responsiveness.  
18
5. 5  
[](/posts/jwt-authentication-in-net-maui-a-step-by-step-guide-uhg8qouwh "JWT Authentication in .NET MAUI: A Step-by-Step Guide")  
Article  
![Avatar of csharpcorner](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ada2d584df6241748fc4e71878dc70a3)C# Corner · 2y  
JWT Authentication in .NET MAUI: A Step-by-Step Guide  
Learn how to implement JWT authentication in a .NET MAUI application by following a step-by-step guide. This process includes setting up the UI layout in MainPage.xaml, handling button clicks and API calls in MainPage.cs, and managing HTTP requests and authentication in RestService.cs. JWT tokens are used to securely transmit information, ensuring user data is protected during interactions with the backend API.  
17
6. 6  
[](/posts/the-fourth-beta-of-android-15-grkawspuf "The Fourth Beta of Android 15")  
Article  
![Avatar of androiddev](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/a3d55bb1d63c48e7bd91b833eb5c2c3c)Android Developers Blog · 2y  
The Fourth Beta of Android 15  
The fourth and final beta of Android 15 has been released, marking the second Platform Stability release. Developers should finalize their apps for compatibility and submit any critical feedback before Android 15's official release. Key changes include the removal of legacy PNG-based emoji fonts, requiring updates to apps that use custom font renderers. Developers are encouraged to test their apps thoroughly, update SDKs, and take advantage of new features in Android 15\. Updates to Pixel devices enrolled in the beta program will be available over-the-air starting tonight.  
16
7. 7  
[](/posts/progressive-web-apps-technology-bridging-web-and-mobile-qj0mcuhbl "Progressive Web Apps: Technology Bridging Web and Mobile")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 2y  
Progressive Web Apps: Technology Bridging Web and Mobile  
Progressive Web Apps (PWAs) combine the advantages of web and mobile applications, offering reliable, fast, and engaging user experiences. Key features include service workers for offline capabilities, caching, responsive design, installability, and push notifications. Businesses benefit from increased engagement, cost-effectiveness, and improved SEO, while users enjoy instant access, offline functionality, and smaller app footprints. Major companies like Twitter, Alibaba, and Starbucks have seen significant improvements after adopting PWAs.  
15
8. 8  
[](/posts/building-hyper-casual-games-with-flutter-qyb5qeefu "Building Hyper-Casual Games with Flutter")  
Article  
![Avatar of droidcon](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/81cb1c2f23ad40c993651c6f90c69be0)droidcon · 2y  
Building Hyper-Casual Games with Flutter  
The post discusses building hyper-casual games using Flutter, focusing on essential aspects like user experience, technical requirements, and data storage preferences. It highlights the advantages and considerations of using Flutter for creating lightweight, engaging games.  
14
9. 9  
[](/posts/from-failing-programming-class-to-senior-software-engineer-with-tadas-petra-podcast-146--jm0yirykq "From Failing Programming Class to Senior Software Engineer with Tadas Petra [Podcast #146]")  
Article  
![Avatar of freecodecamp](https://media.daily.dev/image/upload/t_logo,f_auto/v1628412854/logos/freecodecamp)freeCodeCamp · 2y  
From Failing Programming Class to Senior Software Engineer with Tadas Petra \[Podcast #146\]  
Interview with Tadas Petra, a Senior Developer Advocate at Agora.io who transitioned from embedded development to mobile app development. Discusses his journey from learning in university to building dozens of mobile apps, creating tutorials, and eventually moving into developer advocacy. Highlights include his immigration to Chicago, different facets of computer engineering, and learnings from both mobile and web development.  
12
10. 10  
[](/posts/force-update-with-remote-config-cucyqr7cu "Force Update with Remote Config")  
Article  
![Avatar of codewithandrea](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/f57ff93b416640bd8675ee26eef6d777)Code with Andrea · 2y  
Force Update with Remote Config  
A package called force\_update\_helper allows for a remotely controlled force update prompt by comparing the current app version with a required version fetched from a remote source. The setup process is documented, with example apps using GitHub Gist or Dart Shelf app as remote sources. A course is available for further learning.  
12  
1
11. 11  
[](/posts/code-push-in-flutter-0d8xogbrs "Code Push in Flutter")  
Article  
![Avatar of habr](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/habr)habr · 2y  
Code Push in Flutter  
Code Push is a technique that allows developers to push updates to mobile apps directly without requiring users to download new versions from app stores. This is particularly helpful for bug fixes, A/B testing, and rolling out new features. Shorebird brings Code Push capability to Flutter applications, ensuring compliance with app store guidelines. While it supports Dart code updates, it doesn't cover native code or asset updates. As Shorebird matures, it plans more transparency by making its Dart SDK public.  
11
12. 12  
[](/posts/don-t-write-this-code-use-a-swift-regex-instead--fzjocf43f "Don't write this code! (use a Swift Regex instead 😌)")  
Video  
![Avatar of vpradeilles](https://media.daily.dev/image/upload/s--f_OeYCEF--/f_auto/v1721999625/logos/vpradeilles)Vincent Pradeilles · 2y  
Don't write this code! (use a Swift Regex instead 😌)  
Regular expressions in Swift have been simplified and made safer with a new syntax introduced in iOS 16\. The older NSRegularExpression API from Objective-C was verbose and exception-prone. The new Swift regex syntax offers compile-time checks and easier string capture via tuples. A regex builder syntax is also available for complex expressions.  
10

[See all mobile-dev archives](/tags/mobile-dev/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/mobile-dev/best-of/2024#page","url":"https://daily.dev/tags/mobile-dev/best-of/2024","name":"Best mobile-dev Posts of 2024","description":"The most upvoted mobile-dev posts of 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/mobile-dev/best-of/2024#items","numberOfItems":12,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/painnn--uubabqudb","name":"Painnn 😭"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/dio-jwt-in-flutter-solution-of-async-hell-dzmnvlewn","name":"Dio + JWT in Flutter — Solution of async hell"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/how-to-release-your-flutter-app-on-the-ios-app-store-srf1ece39","name":"How to Release Your Flutter App on the iOS App Store"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/how-we-reduced-flutter-memory-usage-by-375mb-image-optimization-strategies-acxcpn5ul","name":"How We Reduced Flutter Memory Usage by 375mb: Image Optimization Strategies"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/jwt-authentication-in-net-maui-a-step-by-step-guide-uhg8qouwh","name":"JWT Authentication in .NET MAUI: A Step-by-Step Guide"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/the-fourth-beta-of-android-15-grkawspuf","name":"The Fourth Beta of Android 15"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/progressive-web-apps-technology-bridging-web-and-mobile-qj0mcuhbl","name":"Progressive Web Apps: Technology Bridging Web and Mobile"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/building-hyper-casual-games-with-flutter-qyb5qeefu","name":"Building Hyper-Casual Games with Flutter"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/from-failing-programming-class-to-senior-software-engineer-with-tadas-petra-podcast-146--jm0yirykq","name":"From Failing Programming Class to Senior Software Engineer with Tadas Petra [Podcast #146]"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/force-update-with-remote-config-cucyqr7cu","name":"Force Update with Remote Config"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/code-push-in-flutter-0d8xogbrs","name":"Code Push in Flutter"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/don-t-write-this-code-use-a-swift-regex-instead--fzjocf43f","name":"Don't write this code! (use a Swift Regex instead 😌)"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"mobile-dev","item":"https://daily.dev/tags/mobile-dev"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/mobile-dev/best-of"},{"@type":"ListItem","position":5,"name":"2024"}]}]}
```

