Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Events
Videos
Audiobooks
Packt Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

MobilePro

75 Articles
Runcil Rebello
03 Jun 2026
16 min read
Save for later

Inside the Rise of Multi-Agent iOS Development (MobilePro #220)

Runcil Rebello
03 Jun 2026
16 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #220: Inside the Rise of Multi-Agent iOS DevelopmentGrow your Mac app with Setapp.Get around 30K unique impressions in the first days after your app’s releaseSetapp makes sure your app isn’t just listed, but seen. Plus, we handle the stuff you don’t like: distribution, licensing, billing, taxes, and customer support.You build great software; we bring you revenue and valuable feedback to help your app grow. Hope is not a growth strategy.Join Setapp.Share your appHi ,Today we are covering a piece from Walid SASSI, author of AI Driven Swift Architecture. This article stood out to us because it looks beyond the usual “AI will write your apps” narrative and focuses instead on how AI-assisted development workflows themselves are evolving.In this article, originally published on Swift Tribune, Walid explores how multi-agent systems and Claude-powered workflows are beginning to reshape iOS development. Rather than treating AI as a simple autocomplete layer, he looks at how specialized agents can coordinate coding, debugging, reviews, and research in parallel, pushing development workflows toward orchestration instead of isolated assistance.More importantly, the article raises a broader question many teams are starting to confront: if AI tools can now coordinate parts of the development process itself, how does that change the way engineers build apps?TL;DRMulti-agent workflows allow AI systems to split development tasks across specialized agentsClaude agents can coordinate coding, reviews, debugging, and research in parallelThese workflows are starting to influence how iOS developers approach app developmentAI-assisted development is moving beyond autocomplete toward orchestration and task managementFaster development is only part of the equation; shipping and growing apps remains equally importantThis week’s news cornerAnnouncements at Kotlin Conference 2026: KotlinConf'26 celebrated Kotlin's 15th anniversary with major announcements including the unified Kotlin Toolchain, stable Koog 1.0 AI agent framework, and a deeper Anthropic-JetBrains partnership bringing Claude natively into IntelliJ IDEA and Android Studio. Kotlin Multiplatform continues its rapid growth, with top app adoption more than doubling and companies like PayPal, Sony, and Duolingo already using it in production.Koog 1.0 Is Out: JetBrains has released Koog 1.0. It is the stable version of its open-source Kotlin/Java framework for building AI agents. It gives a one-year no-breaking-changes guarantee for stable modules. The update adds local Android AI support, improved Java interoperability, OpenTelemetry-based observability, enhanced memory and persistence, flexible HTTP transport, and Anthropic prompt caching for better performance and lower costs.Apple teases generative AI expansion ahead of WWDC 2026: Ahead of WWDC 2026, Apple has quietly registered the subdomain genai.apple.com, hinting at a broader generative AI push alongside expected announcements for iOS 27, iPadOS 27, and macOS 27. The upcoming releases are anticipated to bring significant Apple Intelligence upgrades, including a redesigned conversational Siri app, enhanced accessibility features, and deeper AI integration across native apps.iOS 27 rumored to bring new design changes in two key areas: Apple is rumored to refine its Liquid Glass design in iOS 27, including a new system-wide slider that lets users precisely adjust transparency and contrast instead of choosing only between “Clear” and “Tinted” modes. The update is also expected to bring smaller UI and UX improvements to Liquid Glass, continuing Apple’s gradual design evolution rather than introducing another major visual overhaul.Apple releases first iOS 26.6 public beta, here’s what to expect: Apple has released the first iOS 26.6 public beta, introducing a higher contact-blocking limit and hinting at a new anti-theft iPhone feature. The update is expected to be a minor maintenance release, with Apple’s main focus shifting to iOS 27, which will be unveiled at WWDC on June 8.Know the authorWalid SASSI began his iOS journey in 2011 while teaching distributed systems at the University of Carthage in Tunisia. Discovering the iPhone SDK sparked a growing interest that quickly became a professional focus. For nearly a decade, he combined academia with hands-on development, teaching computer science while working as an independent iOS developer. He built apps, mastered Swift and UIKit, and developed strong expertise in software architecture. Today, he is particularly interested in AI-assisted development and how it enhances productivity while maintaining solid engineering practices.Claude Agents: Multi-Agent iOS Workflows in Claude CodeThis month Anthropic shipped a new iteration of multi-agent workflows inside Claude Code. The official name in the documentation is agent view, opened with theclaude agents command, I will use both “agent view” and “Claude Agents” in this article since the community has already started using the second term.Multi-agent is not a brand new topic for CLI coding tools, Claude Code and Codex have both been experimenting with it for months, but the way Anthropic exposes it now is genuinely different, and worth a careful look from anyone who runs more than one AI session at a time on an iOS codebase.A quick bit of history first. Back inFebruary 2026, Anthropic shipped what I would call theper-sessionmulti-agent model: each agent ran in its own Claude Code session, and you switched between them from the outside, typically withtmux .That workflow works, but it puts the burden of orchestration entirely on you. We covered exactly that pattern inChapter 8 of our bookAI-Driven Swift Architecture, including how to spin up several agents in paralleltmuxpanes and route attention between them manually.Claude Agents replaces that. The agents now liveinside Claude Code itself, in a dedicated view. You switch between them, monitor their state, and follow their full lifecycle without ever leaving the CLI. No moretmuxgymnastics, no more “which pane is the test agent in again?”, you just select the agent.Prerequisite: Claude Code v2.1.139 andclaude updateBefore anything else, you need a recent enough Claude Code build. (If you are setting Claude Code up from scratch on Apple Silicon, theClaude Code for Xcode 26 guide walks through install, authentication, and pricing first.)Theagents view is a research previewand it requiresClaude Code v2.1.139 or later. A simple claude update is usually enough to get you on the right version. Ifclaude --versionreports something older, the new view will not appear and nothing in this article will line up with what you see on screen. Once installed, you open it with:claude agentsThe Claude Agents view at a glanceOnce you are on the right version and Opus 4.7 is selected as the model, agent view shows up as a first-class panel inside Claude Code.This is the entry point. Each row in that panel will represent an agent. Submitting a prompt to it spawns a new agent that immediately enters aworkingstate on the task you described, independently from whatever you are doing in the main session.Claude Agent lifecycle: the six states explainedThe reason this matters more than the oldertmuxsetup is thelifecycle. Claude Code now treats each agent as a real long-running unit with a state you can observe at a glance. The documentation definessix states, each with its own icon signal:Working, the agent is actively running tools or generating a response. The row shows ananimated icon, the kind that signals “I’m still chewing on it, don’t interrupt.” This is the default state right after you submit a prompt.Needs input, the agent is blocked waiting on you, usually because a tool call needs explicit authorisation, or because the prompt hit an ambiguous decision the agent does not want to make alone. The icon goesyellow. Until you act, the agent does not advance.Idle, the session has nothing to do and is ready for your next prompt. The icon isdimmed. This is the resting state of an agent you have attached to but not yet given a task.Completed, the task finished successfully. The icon goesgreen. The summary the agent produced is now available for you to read.Failed, the task ended with an error. The icon goesred. Failures stay visible in the list so you do not miss them under a pile of completed sessions.Stopped, you killed it. The icon goesgrey. To trigger this state, select the agent and pressCtrl + X. Useful when a run has clearly gone off the rails and you would rather restart with a tighter prompt than babysit it. A secondCtrl + Xwithin two seconds deletes the session entirely, along with its worktree, so be deliberate.Those six states are the whole API surface of orchestration. Once you internalise them, multi-agent workflows stop feeling like a juggling act.A real experiment: two Claude Agents on a Swift to-do list appTo put this into practice I picked a small, deliberately under-architected project: aSwift to-do list iOS app. The kind of codebase a lot of teams actually have lying around, a few view controllers, persistence wired in directly from the UI layer, no DI, no tests. It is the perfect playground because the work decomposes very naturally into two independent streams:Stream A, migrate the legacy code toward Clean Architecture.Extract a domain layer, introduce protocols, move persistence behind a repository, kill the implicit singletons.Stream B, backfill the unit tests.Cover the domain logic that Stream A is producing, with proper fakes and deterministic assertions.I want these two streams to runat the same time, with two different agents, on two different worktrees, and I want to see how Claude Code handles the synchronisation between them. That is the actual subject of this article, the agent UI is just the entry point.A small prompting trickOne thing I have settled into over the last few months: I no longer write the prompt for an architectural agent directly.I describe what I want in plain language to ChatGPT first, let it shape a structured, intent-rich prompt, and then I paste that into Claude Agents.ChatGPT is, in my experience, particularly strong at prompt shaping, it pushes back, asks clarifying questions, and produces prompts that age well. Claude, on the receiving end, is excellent at executing those prompts inside a real codebase. Using the two together is, frankly, the most productive workflow I have found.So both prompts, the Clean Architecture refactor one and the unit-testing one, were authored by ChatGPT and handed to Claude Agents. Then I hit submit on both, back to back.Two agents, side by sideWithin seconds the agents panel shows both of them in theworkingstate, animated icons running side by side.Notice that nothing about your main Claude Code session is blocked. You can keep working in the main thread, ask questions, read files, plan the next step, while the two agents grind in the background. This is the part thetmuxworkflow could never give you cleanly: a shared, in-process control plane for your agents.What “Needs input” really looks likeA few minutes in, one of the agents flips to yellow.This is the part of the lifecycle that is the most underrated. The agent has hit a permission boundary, typically a tool call that requires explicit authorisation, or a destructive action it refuses to take on its own.Until you select the agent (with ↑/↓), peek into it withSpaceand answer, it sits there. No silent fallback, no “I’ll just do something simpler.” That sounds annoying, but in practice it is the single biggest safety improvement over the oldtmuxmodel, where an agent could quietly take a wrong turn and you would only discover it three minutes later.Drilling into an agentAgent view is entirely keyboard-driven. You move between rows with↑and↓, pressSpaceto open thepeek panel (a quick read on the agent’s most recent output, or the question it is waiting on).Press Enteror→toattach, that is, to take over the agent’s full conversation in your terminal, exactly as if you had runclaudeagainst that session. Pressing←on an empty prompt detaches you back to the list.This is where the UX win compared totmuxbecomes obvious. Switching between agents used to meanCtrl-B + a pane number and rebuilding context in your head every time.Now it is two keystrokes,↓thenSpace, and you are reading the agent’s state. The “where was I again?” cost essentially goes to zero.CompletionEventually the architecture agent finishes its first checkpoint, the domain protocols are in place, the legacy view models redirected, the build is green on its branch. The icon turns green.A completed agent has handed you a summary you can act on. This is also where review discipline matters: a green agent isnota merged PR. It is a proposal sitting on a branch, waiting for human review and integration.Behind the scenes: one Git worktree per Claude AgentHere is the part that quietly does most of the heavy lifting. Before any background session edits files, Claude Code moves it intoan isolated Git worktree under.claude/worktrees/. Each agent gets its own worktree (and its own branch) automatically, you never typegit worktree add yourself.The agent does its writing in that worktree only and never touches your main checkout while it is running. (Two caveats from the docs: this isolation is skipped if the working directory is not a Git repository, or if the session is already running under.claude/worktrees/.)For this experiment that means two worktrees and two branches were created automatically. In my screenshot the branches are named after the prompts I dispatched, Claude Code auto-names a session from its prompt, and that name flows into the branch:worktree-clean-arch-refactor, the architecture agent’s branchworktree-add-unit-tests, the testing agent’s branchThose exact names are just what came out ofmyprompts; yours will look different. What is guaranteed is that each agent gets a separate worktree and branch, not that the branches follow any particular naming convention.This is what makes parallel agents safe on a real iOS project. They share a.gitobject database, so they see the same history and can pull from each other’s branches at well-defined checkpoints, but they cannot accidentally overwrite the samePackage.swiftor.xcodeproj, they are not even on the same filesystem view.A word of caution here, and it is the one operational rule I would beg you not to skip:the worktree workflow only pays off if your promptexplicitly tells the agent to push its work to review, and then to merge once review passes.If you forget that line in your prompt, you end up with two beautiful green agents and a stack of orphan worktrees that nobody integrates.The review and merge workflow, including how we wire it into SonarQubeas a quality gate before merge, is exactly what we walk through end-to-end inChapter 8 ofAI-Driven Swift Architecture. If you want the full pipeline, that is the place to go.Stopping an agentOccasionally an agent goes off-script, usually because the prompt was too vague or because it picked a path that is going to be expensive to undo. In that case, select it with↑/↓and hitCtrl + X. The state flips tostoppedand the icon turns grey.The worktree is still there, the partial work is still there, nothing is destroyed. You just regain control.From there, you can either resume with a tighter prompt, or remove the worktree and start over. This is significantly less stressful than killing a tmuxpane and hoping you committed recently enough.Both agents finishingEventually both agents settle. The refactor agent has carved out a domain layer; the testing agent has produced a Swift Testing suite against it.At that point my job as the human starts: review the two branches, merge them onto an integration branch in the right order (architecture first, tests on top), let SonarQube run, and only then open a pull request againstmain. Again, that pipeline is the subject ofChapter 8 of the book; the article you are reading is intentionally focused on the agent runtime itself.What Claude Agents changes for iOS multi-agent workflowsIf I had to summarise, three things change compared to the February 2026tmuxworkflow:The orchestrator is in-process.You no longer need an external multiplexer to keep track of N agents. The agents viewisthe orchestrator.State is explicit.Working, Needs input, Idle, Completed, Failed, Stopped, six states, each visible, each actionable. You stop guessing whether an agent is “stuck” or “thinking.”Isolation is automatic.Every agent gets its own worktree and branch without you typinggit worktree addonce. That alone removes a whole category of “two agents overwrote the same file” incidents.What doesnot change is the engineering discipline around it. The agents still produce branches you have to review. The synchronisation between two agents working on the same domain still requires you to tell them, in their prompts, where the contract lives and when to rebase.Multi-agent AI does not remove the need for an architect, it just lets one architect direct three or four streams of work at once.Closing thoughts on multi-agent iOS developmentClaude Agents is, to me, the first time the multi-agent story inside a CLI coding tool feels operationally honest. Thetmux era worked for early adopters who did not mind being the human router; this new version works for teams.The fact that it is still flagged as a research preview should not stop you from trying it, but it should remind you that the surrounding workflow (review, merge, quality gates, CI integration) is still very much your responsibility.If you want to go deeper into how we run that surrounding workflow on a real Swift codebase, including the review process, the SonarQube hookup, and the way we structure prompts so that two agents can synchronise without stepping on each other, that is the entire subject ofChapter 8 ofAI Driven Swift Architecture. The book picks up exactly where this article stops.In the meantime:claude update, open the agents view, and try spawning two agents on a small project. Pick something boring, a to-do list, a notes app, a weather screen, and watch how the lifecycle plays out. Half an hour with the new view is worth more than any blog post about it, including this one.📚 Go DeeperIf you’re exploring how AI-assisted workflows are reshaping real-world software engineering,AI-Driven Swift Architectureby Walid SASSI and Dave Poirier offers a practical look at building modern iOS systems with AI-assisted development, architecture patterns, concurrency, and production-ready engineering practices.🧑‍💻 Master Clean Architecture, TDD, and modernization with Claude Code support🛠️ Build SwiftUI apps powered by Apple Foundation Models and on-device intelligence📱 Apply MCP workflows to create AI-driven feature agents in real projectsAI Driven Swift ArchitectureBuy now at 44.99💭 Let’s TalkHow often do you actually update your paywall after shipping it?Reply and let me know — curious how teams approach iteration.Advertise with usInterested in sponsoring this newsletter and reaching a highly engaged audience of tech professionals? Simply reply to this email and our team will get in touch with next steps.Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;display:none;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}.social_block .social-table{display:inline-block!important}.row .side{display:none}}
Read more
  • 0
  • 0

Runcil Rebello
04 Jun 2025
11 min read
Save for later

MobilePro #174: Apple to unveil iOS 26 at WWDC 2025, Azure Premium v4 goes public, Perplexity labs introduced, Photoshop on Android, and more…

Runcil Rebello
04 Jun 2025
11 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #174: Apple to unveil iOS 26 at WWDC 2025, Azure Premium v4 goes public, Perplexity labs introduced, Photoshop on Android, and more…Web Devs: Turn Your Knowledge Into IncomeBuild the knowledge base that will enable you to collaborate AI for years to come💰 Competitive Pay Structure⏰ Ultimate Flexibility🚀 Technical Requirements (No AI Experience Needed)Weekly payouts + remote work: The developer opportunity you've been waiting for!The flexible tech side hustle paying up to $50/hourAPPLY NOWHi ,Welcome to the 174th edition of MobilePro! This week’s issue dives into major leaps in AI, mobile platforms, and developer productivity—from iOS’s dramatic redesign to autonomous AI agents transforming the software lifecycle:📱 iOS 26 redefines the iPhone: Apple is set to unveil iOS 26 with a sweeping redesign, AI enhancements, and cross-device interface unity at WWDC 2025.📶 Azure App Service Premium v4 goes public preview: Microsoft launches its fastest, most scalable App Service plan yet—with major TCO benefits.🧩 Apple to unify OS versioning: Apple may align all OS versions (iOS, macOS, etc.) to annual numbers like “26”, bringing consistency across the ecosystem.💬 MVI’s misunderstood past and modern Android role: Explore the full history and modern form of the Model-View-Intent pattern in Android development.🎨 Material 3 makes motion expressive: Google’s latest Material Design update brings emotional, physics-driven animations to Jetpack Compose for more engaging UIs.🖌️ Photoshop touches down on Android: Adobe launches the beta of Photoshop for Android, bringing powerful AI tools and core editing features to mobiles.And in What’s Happening in AI?—Perplexity unveils a Lab that builds whole apps from your prompts, and we ask: will AI leave some developers behind? Stick around for this week’s Developer Tip to learn about Apple's iOS App Store pre-order system and the Did You Know? section to know how an iOS app exposed sensitive user data!Let’s dive in!P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!Machine Learning Summit 2025JULY 16–18 | LIVE (VIRTUAL)20+ ML Experts | 25+ Sessions | 3 Days of Practical Machine Learning and 40% OFFBOOK NOW AND SAVE 40%Use Code EARLY40 at checkoutDay 1: LLMs & Agentic AIFrom autonomous agents to agentic graph RAG and democratizing AI.Day 2: Applied AIReal-world use cases from tabular AI to time series GPTs and causal models.Day 3: GenAI in ProductionDeploy, monitor, and personalize GenAI with data-centric tools.Learn Live from Sebastian Raschka, Luca Massaron, Thomas Nield, and many more.40% OFF ends soon – this is the lowest price you’ll ever see.📱 What's Happening in Mobile Development?If there’s any major news in the world of mobile app dev in the last week, MobilePro has you covered.iOSiOS 26: All the new iPhone features we’re expecting next week: Apple is set to unveil iOS 26 at WWDC 2025, featuring a major redesign. This is the biggest update since iOS 7—with a unified interface across Apple devices, along with enhanced AI capabilities under Apple Intelligence 2.0, new app updates including a dedicated Games app, and various usability improvements like charging estimates, live translation, and eSIM transfer to Android.Apple is reportedly going to rename all of its operating systems: Apple will reportedly rename all its operating systems to align with the upcoming year—e.g., iOS 26 instead of iOS 19—to standardize version numbers across platforms, with the change set to be announced at WWDC on June 9th.AndroidGmail gets a fresh look with Material 3 Expressive redesign: Google has begun rolling out a Material 3 Expressive redesign for Gmail, featuring vibrant colors, rounded cards, and updated animations. The update, part of Android 16's visual refresh, is gradually being enabled via a server-side switch in Gmail app version 2025.05.11.Adobe launches Photoshop beta for Android with AI-powered editing tools: Adobe has officially released the beta version of Photoshop for Android devices. Available for free on the Google Play Store during the beta period, the app offers features such as layers, masks, and AI-driven tools like Generative Fill, powered by Adobe Firefly. Users can also access a library of free Adobe Stock assets and utilize tools like Object Select and Magic Wand for precise selections.MicrosoftAzure App Service Premium v4 plan is now in public preview: Microsoft has launched the Azure App Service Premium v4 plan in public preview, offering improved performance (up to 50%), enhanced scalability, and lower total cost of ownership—making it ideal for modernizing high-demand applications across Windows and Linux platforms.GitHub Universe 2025: Here’s what’s in store at this year’s developer wonderland: GitHub Universe 2025 will be held on October 28–29 in San Francisco, featuring hands-on sessions, AI-powered development insights, and community networking, with Super Early Bird passes now available at a $700 discount. Virtual attendance is free for those unable to join in person.OtherPlatform '24.2 is out: Pega Platform™ '24.2 introduces significant updates, including the removal of embedded third-party services (Elasticsearch, Kafka, Cassandra), mandatory Java 17 support, and enhanced Insights with autogenerated tables, editable data, and advanced security policies—while also expanding AI-driven low-code development, case management, and user experience capabilities.Curious about how to build buzz before your app launches? This article explores Apple's iOS App Store pre-order system, detailing how developers can set it up, manage pricing, update metadata, and use it to boost visibility and downloads on release day. You can check out the article here.In case you have any tips to share with your fellow mobile developers, do reply to this mail and we’d be glad to feature you in a future edition of MobilePro.🤖 What’s Happening in AI?AI is evolving fast—are you keeping up? MobilePro brings you key discussions, trends, and expert takes in one place.Court documents reveal OpenAI is coming for your iPhone: Unsealed court documents reveal OpenAI's ambitious plan to evolve ChatGPT into a “super-assistant” poised to rival Siri—emphasizing deep personalization, cross-platform presence, and challenging tech gatekeepers by advocating for users to choose their default AI assistant.Introducing Perplexity Labs: Perplexity has launched Perplexity Labs for Pro users—a powerful new mode that transforms ideas into complete projects like reports, spreadsheets, and web apps using advanced tools such as code execution, deep browsing, and asset generation. Labs complements the existing Research mode by handling more complex, multi-step tasks in 10+ minutes for deeper, actionable results.Azure AI Search unveils agentic retrieval for smarter conversational AI: Microsoft has introduced agentic retrieval in Azure AI Search (public preview), a dynamic multi-turn query system that improves answer relevance by up to 40% over traditional RAG by autonomously planning and executing retrieval strategies using Azure OpenAI. It supports complex, context-aware queries with subquery planning, semantic reranking, and is designed for intelligent agents in enterprise use cases.AI won’t replace developers, but it will leave some behind: AI won't replace developers but will widen the gap between teams that adapt and those that don't. Success will hinge on integrating AI responsibly across the software lifecycle, emphasizing quality, trust, and resilience over mere speed.Factory ‘Droids’ AI agents tackle entire development lifecycle: Factory has introduced AI-powered “Droids” — full-fledged software development agents that go beyond coding to handle tasks like feature development from specs, codebase research, incident response, ticket management, and code reviews, all while integrating with common dev tools and maintaining organizational context. These agents aim to streamline the entire development lifecycle, signaling a potential shift in how developers collaborate with AI.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share?MobileProbrings them to you all in one place.MVI: The Pattern’s Full History, Misconceptions, and Modern Android Form: This article explores the full history, misconceptions, and modern application of the MVI (Model-View-Intent) architectural pattern in Android development—clarifying its origins prior to Redux, debunking common myths, and advocating for a flexible, context-driven implementation over rigid dogma.Less TODO, more done: The difference between coding agent and agent mode in GitHub Copilot: This article covers GitHub Copilot’s evolution into two AI agents: agent mode, a real-time assistant integrated into your editor, and coding agent, an asynchronous collaborator that tackles GitHub issues and delivers tested pull requests—streamlining development from ideation to deployment.Android 16: Exploring the Next Evolution of Notifications: This article introduces Android 16’s new Notification.ProgressStyle, a customizable notification format designed for real-time progress updates in use cases like food delivery or navigation. It provides a step-by-step guide on implementing this style, showcasing features like segmented progress bars, tracker icons, and live state transitions within a notification.Expressive Animations for Everyone: This article introduces Google's new Material 3 Expressive design update, which brings emotion and fluidity to UI with a new motion-physics system, and demonstrates how to implement dynamic, animated toggle buttons using Jetpack Compose to create a more engaging user experience.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.If you are an experienced UI/UX designer, developer, or product manager looking to improve team collaboration and elevate your Figma workflows, this book is for you.🤝 Streamline cross-functional collaboration with real-world Figma workflows, accurate design handoffs, and scalable team processes.🏗️ Build robust, scalable design systems for enterprise-grade UI/UX.🤖 Discover powerful plugins, APIs, and leverage AI to automate and extend Figma’s capabilities.Design Beyond Limits with FigmaPreorder now at $39.99!Mobile App Development Tutorial — Excerpt from SwiftUI Cookbookby Juan C. CatalanThe most basic building block of any application is text, which we use to provide or request information from a user. Some text requires special treatment, such as password fields, which must be masked for privacy reasons. In this excerpt from Juan C. Catalan’sSwiftUI Cookbook, you will implement different types of SwiftUI Text views. A Text view is used to display one or more lines of read-only text on the screen. ATextFieldview is used to display multiline editable text, and aSecureFieldview is used to request private information that should be masked, such as passwords.Implementing SwiftUI Text viewsYou will implement multiple types of text-related views and modifiers. Each step in this excerpt applies minor changes to the view, so note the UI changes that occur after each step. Let's get started:Replace the initialContentViewbody variable with our ownVStack. TheContentViewshould look like the following code:struct ContentView: View {var body: some View { VStack{ Text("Hello World") } }}Add the.fontWeight(.medium)modifier to the text and observe the text weight change in the canvas preview:Text("Hello World") .fontWeight(.medium)Add two state variables to theContentView.swiftfile:passwordandsomeText. Place the values below theContentViewstruct declaration. These variables will hold the content of the user's password andTextfieldinputs:struct ContentView: View { @State private var password = "1234" @State private var someText = "initial text"var body: some View {...}Now, we will start adding more views to theVStack. Each view should be added immediately after the previous one. AddSecureFieldand a Text view to theVStack. The Text view displays the value entered inSecureField:SecureField("Enter a password", text: $password) .padding()Text("password entered: \(password)") .italic()AddTextFieldand a Text view to display the value entered inTextField:TextField("Enter some text", text: $someText) .padding()Text(someText) .font(.largeTitle) .underline()Now, let's add some other Text views with modifiers to the list:Text("Changing text color and make it bold") .foregroundStyle(.blue) .bold()Text("Use kerning to change space between characters in the text") .kerning(7) Text("Changing baseline offset") .baselineOffset(100) Text("Strikethrough") .strikethrough() Text("This is a multiline text implemented in SwiftUI. The trailing modifier was added to the text. This text also implements multiple modifiers") .background(.yellow) .multilineTextAlignment(.trailing) .lineSpacing(10)Now is the moment to test the app. We can choose to run the app in a simulator or click the Play button in the canvas preview, which allows for interactivity. Play with the app and enter some text in theSecureFieldandTextField. Text entered in theSecureFieldwill be masked, while text in theTextFieldwill be shown.***There are plenty more such recipes, which you can read in SwiftUI Cookbook.SwiftUI CookbookBuy now at$44.99A popular iOS app, Sleep Journey: Insomnia Helper, exposed sensitive data of over 25,000 users—including names, sleep habits, and even alcohol use—due to a misconfigured Firebase server, highlighting the critical need for secure backend practices in mobile development.Sourced from App Developer Magazine.👋 And that’s a wrap. We hope you enjoyed this edition of MobilePro. If you have any suggestions and feedback, or would just like to say hi to us, please write to us. Just respond to this email!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0

Runcil Rebello
30 Jun 2026
11 min read
Save for later

Classical ML vs. Foundation Models: Picking the Right Tool (MobilePro #222)

Runcil Rebello
30 Jun 2026
11 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #222: Classical ML vs. Foundation Models: Picking the Right ToolSocial engineering is about manipulating people's emotions. Identify the susceptibilities that hackers use to exploit people.This NINJIO Insights Report dives into the key emotional susceptibilities that make social engineering work and offers concrete steps that your security team can take to equip your workforce to resist cyberattacks.Download the GuideHi ,As Foundation Models dominate conversations around AI, it's easy to assume that every intelligent feature needs a large language model behind it.In reality, many real-world mobile applications rely on a different kind of intelligence. Tasks like predicting checkout abandonment, detecting fraud, or forecasting user behavior are often better served by lightweight machine learning models that are faster, more efficient, and can run entirely on-device. Apple's Create ML and Core ML continue to make these solutions both practical and powerful.In this week's article, Walid, the co-author of AI Driven Swift Architecture, explores the fundamental differences between classical machine learning and Foundation Models, explaining why choosing the right kind of intelligence matters more than simply choosing the biggest model. It's a timely reminder that the best AI solution is the one that fits the problem—not the hype.TL;DRFoundation Models aren't the right solution for every AI problem.Create ML excels at structured prediction tasks such as forecasting, classification, and recommendation.Classical ML models are lightweight, fast to train, and efficient enough to run entirely on-device.Foundation Models shine for language understanding, reasoning, and generative experiences—not tabular prediction problems.The smartest engineering decision is choosing the model that best fits the problem, rather than defaulting to the largest AI model available.This week’s news cornerApple adds Google Gemini coding assistant in Xcode 26.6 update: Xcode 26.6 now supports Google Gemini as a third AI coding assistant, joining Anthropic Claude Agent and OpenAI Codex. The update also includes Swift 6.3.3, the latest platform SDKs, and support for additional agents via the Agent Client Protocol.Apple acquired Swift Package Index: Swift Package Index, the community hub for discovering and evaluating Swift packages, has been acquired by Apple. The two will collaborate to build a comprehensive package registry serving the broader Swift ecosystem, including its expanding multi-platform reach across Linux, Android, and WebAssembly.React Native 0.86: React Native 0.86 is out with full edge-to-edge display support on Android 15+ and React Native DevTools improvements. It's the second consecutive release with no breaking changes, making upgrades smoother for developers.Google Play splits billing fees for US and European developers: Google Play is splitting its billing fees into separate service and transaction charges for developers in the US, UK, and EEA effective 30 June 2026, allowing them to use alternative payment gateways or external web links. The new tiered fee structure starts at 10% for the first $1M in annual earnings, with rates varying based on install type, payment method, and developer programme eligibility.Anthropic cleared to release Claude Mythos 5 to over 100 US institutions: Following a US government export control directive that blocked access to its most powerful models, Anthropic has secured a partial reprieve allowing Claude Mythos 5 to be released to over 100 US institutions including major companies and government agencies. Claude Fable 5 remains restricted for now, though talks are reportedly moving toward its release as well.A Glitch in the MetricsDon't know where to find data and new ideas for your strategy? Subscribe to A Glitch in the Metrics newsletter, and you'll get fresh social media updates, real data, and viral trends (and it's also fun). 30k+ social media managers are already reading it.Subscribe for freeKnow the authorWalid SASSI began his iOS journey in 2011 while teaching distributed systems at the University of Carthage in Tunisia. Discovering the iPhone SDK sparked a growing interest that quickly became a professional focus. For nearly a decade, he combined academia with hands-on development, teaching computer science while working as an independent iOS developer. He built apps, mastered Swift and UIKit, and developed strong expertise in software architecture. Today, he is particularly interested in AI-assisted development and how it enhances productivity while maintaining solid engineering practices.Create ML vs. Foundation Models: Choosing the Right Kind of IntelligenceFor many developers today, artificial intelligence has become almost inseparable from Foundation Models, Transformers, and conversational systems capable of generating impressively human responses.The industry conversation is now dominated by topics such as token prediction, context windows, embeddings, and reasoning models trained on enormous datasets.But while experimenting recently with Create ML on a small checkout analytics dataset, I was reminded of something the current AI discourse sometimes tends to overlook: not every intelligent feature in an application requires a Foundation Model.In many situations, classical machine learning remains not only sufficient, but also remarkably well adapted to the problem being solved.The experiment itself was intentionally simple. I trained a predictive model using structured analytics collected from a fictional e-commerce checkout flow.Each training row described a user session through features such as session duration, number of checkout steps, payment method, network retry count, cart size, previous checkout failures, and device type.The target variable was binary: either the checkout completed successfully or the user abandoned the flow before purchase.After importing the dataset into Create ML, training completed almost immediately. The resulting model was compact, lightweight, and ready to be integrated into an iOS application through Core ML.What interested me most was not the prediction quality itself, but how fundamentally different this workflow is from the Foundation Model architectures we discuss so frequently today.The Quiet Simplicity of Classical Machine LearningCreate ML intentionally hides much of the mathematical complexity involved in training predictive systems.From a developer’s perspective, the workflow is remarkably approachable: provide structured data, select a target column, train the model, evaluate the results, and export the generated .mlmodel file.Behind this simplicity, however, lies a family of mature statistical techniques that have powered industrial prediction systems for decades.Depending on the nature of the dataset, Create ML may rely on algorithms such as Linear Regression, Decision Trees, Random Forests, or Boosted Trees.These models are not reasoning about language, maintaining conversational memory, or understanding semantic meaning. Instead, they learn statistical relationships between structured variables.Over time, the model progressively discovers patterns hidden inside the data. Repeated network failures may correlate with checkout abandonment. Long checkout sessions may indicate friction in the purchase flow. Smaller carts may lead to lower conversion rates, while certain payment methods may correlate with faster completion.This is supervised learning in its most classical form: structured inputs combined with known outcomes in order to learn patterns that can later generalize to unseen cases.One particularly important metric during training is the Root Mean Square Error (RMSE), which measures how far predictions deviate from actual outcomes while heavily penalizing large errors. The model continuously adjusts its internal parameters in order to reduce this prediction error over time.Perhaps the most surprising aspect of the experiment was how lightweight the entire process remained. Training completed in seconds, the resulting model footprint remained extremely small, and inference could execute entirely on-device.This efficiency reflects the nature of the problem itself. Create ML was not attempting to train a generative system capable of reasoning over language or producing human-like responses.It was solving a narrower and more structured prediction problem. And for many tabular prediction tasks, compact tree-based models remain extremely effective.Why This Is Fundamentally Different from a Foundation ModelAlthough both systems belong to the broader field of machine learning, the architectural differences between Create ML models and Foundation Models are profound.A checkout abandonment predictor has very little in common with a Transformer-based language model.There is no tokenization, no contextual reasoning, no conversational memory, no attention mechanism, and no sequence modeling. The model simply learns correlations between structured features and observed outcomes.Foundation Models operate in a very different domain. They are designed for problems involving language understanding, summarization, semantic interpretation, conversational interaction, and text generation.Their architectures rely heavily on Transformers and self-attention mechanisms capable of modeling relationships between tokens across large context windows.A tabular prediction model does none of this.And that distinction matters more than it might initially seem.Many developers now unconsciously associate “modern AI” exclusively with large language models. But predicting whether a checkout session is likely to fail is fundamentally a statistical prediction problem rather than a language understanding problem.Using a Foundation Model for such a task would often introduce unnecessary computational complexity, increased latency, larger memory requirements, and higher energy consumption, while potentially providing little practical benefit over a far smaller predictive model.Smaller Models, Real ConstraintsOne of the most interesting lessons from classical machine learning is that smaller systems are often better aligned with the operational realities of software engineering.For structured business data, tree-based models frequently outperform neural networks while remaining dramatically smaller, faster to train, easier to deploy, and more energy efficient.These characteristics align naturally with many of the engineering priorities that have historically shaped the Apple ecosystem: privacy, low latency, offline capabilities, and efficient on-device execution.Foundation Models are transformative for generative interfaces and semantic reasoning. But many intelligent product features still belong firmly to the world of predictive machine learning.Fraud scoring, engagement forecasting, recommendation ranking, checkout optimization, and churn prediction are often statistical systems before they are generative systems.Apple now provides developers with two complementary forms of intelligence. On one side, Create ML and Core ML enable specialized predictive systems optimized for compactness and on-device execution.On the other hand, Foundation Models introduce generative and contextual capabilities built upon Transformer architectures.Interestingly, this also connects directly to Chapter 6 of my latest book, AI Driven Swift Architecture, with Dave Poirier on Packt Publishing, where we discuss Foundation Models and Transformer-based architectures in greater depth.Looking at these two approaches side by side makes something increasingly clear: they are not competing versions of the same technology, but different tools designed for different categories of problems.The interesting question is no longer whether applications should use AI, but which kind of intelligence actually fits the problem being solved. In many cases, the answer may be far simpler, and far smaller, than we initially expect.📚 Go DeeperIf you’re exploring how AI-assisted workflows are reshaping real-world software engineering,AI-Driven Swift Architectureby Walid SASSI and Dave Poirier offers a practical look at building modern iOS systems with AI-assisted development, architecture patterns, concurrency, and production-ready engineering practices.🧑‍💻 Master Clean Architecture, TDD, and modernization with Claude Code support🛠️Build SwiftUI apps powered by Apple Foundation Models and on-device intelligence📱 Apply MCP workflows to create AI-driven feature agents in real projectsAI Driven Swift ArchitectureBuy now at 44.99📢 Important: MobilePro is Moving to SubstackWe’ll be moving MobilePro to Substack soon. From that point forward, all issues will come frompacktmobilepro@substack.com.To ensure uninterrupted delivery, please whitelist this address in your mail client. No other action is required.You’ll continue receiving the newsletter on the same weekly cadence, and on Substack you’ll also gain more granular control over your preferences if you wish to adjust them later.💭 Let’s TalkDoes every AI-powered feature really need a Foundation Model?Reply and let me know.Advertise with usInterested in sponsoring this newsletter and reaching a highly engaged audience of tech professionals? Simply reply to this email and our team will get in touch with next steps.Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;display:none;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}.social_block .social-table{display:inline-block!important}.row .side{display:none}}
Read more
  • 0
  • 0

Runcil Rebello
08 Jul 2026
13 min read
Save for later

Motion That Matters in React Native (MobilePro #223)

Runcil Rebello
08 Jul 2026
13 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #223: Motion That Matters in React NativeHi ,It's easy to get caught up in the race to build apps faster.This week alone, Apple continued its AI push with iOS 27 Beta 3, Xcode 27, and further investments that suggest AI will become deeply embedded in every stage of app development. The tooling is getting smarter, code generation is becoming more capable, and prototyping is moving faster than ever.But once your app reaches a user's hands, none of that really matters if the experience feels clunky. That's why this week's article shifts the focus from AI back to the interface itself. It explores why animations shouldn't be treated as visual polish added at the end of a project, but as part of the way an app communicates with its users. Using React Native's Animated API and Reanimated as examples, it makes the case that the best animations aren't the flashiest ones—they're the ones users barely notice because they simply make the interface easier to understand.TL;DRGood animations improve understanding, not just aesthetics.Smooth interactions depend on keeping animation work away from an overloaded JavaScript thread.React Native Reanimated uses worklets and the New Architecture to deliver more reliable motion.The most valuable animations provide feedback, preserve context, or explain state changes.Decorative motion that doesn't communicate anything usually adds complexity without improving UX.The best test is simple: if removing an animation also removes useful information, it probably belongs.This week’s news corneriOS 27 Beta 3 refines Siri AI, Safari, and Liquid Glass: Apple's iOS 27 Beta 3 continues refining the platform with updates to Siri AI, including improved voice customization and deeper app interactions, alongside new AI-powered features in Safari such as smarter tab organization and webpage monitoring. The beta also further polishes the Liquid Glass interface with visual refinements and customization options while introducing improvements across Shortcuts, Control Center, and core iPhone apps.Xcode 27 brings AI coding agents, smarter debugging, and faster testing: Xcode 27 introduces a major productivity upgrade with built-in support for AI coding agents from providers including Anthropic, Google, and OpenAI, enabling developers to plan, generate, and refine code directly within the IDE. The release also adds Device Hub for centralized device management, expanded customization options, improved performance and testing tools, enhanced localization workflows, and ships with Swift 6.4 and the latest Apple platform SDKs.Apple’s Play acquisition could shape the future of Xcode: Apple has acquired the team behind Play, an Apple Design Award-winning SwiftUI prototyping tool, in a move that could influence the future of Xcode. Play's visual interface enabled developers to design interactive app experiences and generate SwiftUI code, making rapid prototyping significantly easier. While Apple hasn't revealed its plans, the acquisition suggests future Xcode releases could gain more intuitive UI design, prototyping, and AI-assisted development capabilities.A glimpse of BuildWithAI newsletterBuilding with AI is quickly becoming part of every developer's workflow. Each week, Build with AI explores practical AI engineering, agentic development, LLMs, MCP, coding tools, and the techniques shaping modern software development. Here's a glimpse into a recent featured article:Beyond Vibe CodingSoftware development is undergoing its most radical transition in decades. For most of that history, the fundamental bottleneck in engineering was the human translation of intent into syntactic execution. We possessed grand architectures in our heads, but typing them out, debugging semicolons, satisfying borrow checkers, and memorizing standard libraries was a painstaking, manual craft.Today, that bottleneck has largely evaporated.LLMs and autonomous agents have commoditized syntactic generation. A developer can now describe a complex state machine or a fully functional REST API in natural language, and a system will generate it in seconds. Unlike a compiler, which translates one precise notation into another and produces the same output every time, these systems predict. They vary.The same request can produce different code twice. That difference is the whole reason engineering discipline matters more here, not less.However, this newfound velocity has introduced a severe vulnerability into our workflows. Early adopters of this technology have embraced a paradigm often referred to asvibe coding. Coined byAndrej Karpathyin early 2025 to describe an intent-first, syntax-second approach, vibe coding champions a fast, loose, iterative generation style.The developer acts as a Head Chef, barking orders at algorithmic sous-chefs and letting the AI handle the mechanical slicing and dicing. It sounds liberating, and for small scripts or weekend side projects, it absolutely is. But when the goal is production-grade enterprise software, the same looseness becomes dangerous.When you apply unstructured vibe coding to massive legacy codebases with strict security, performance, and scaling constraints, the magic quickly turns into a nightmare. AI agents are non-deterministic, bounded reasoners. Left to their own devices, they will write code that appears functionally correct but is structurally disastrous. They will tightly couple components, hallucinate dependencies, and introduce security vulnerabilities.This leads to a fundamental thesis that runs through this entire series:agentic software engineering is the pinnacle of traditional engineering rigor, not a break from it.The disciplines that make an agent productive are the disciplines you already know: testing, version control, modular design, continuous integration, and tight feedback loops. None of this is new. What changes is who does the typing and how much leverage each decision now carries.We need to move beyond vibe coding and integrate the rapid generative powers of AI with the structural discipline of classic software engineering. By doing so, we shift our focus from typing code to designing the systems that produce it, managing complexity, and optimizing for learning....Read more...Know the authorWith a background in full stack development across .NET and React, Rodrigo Lobenwein leads a team of senior developers and QA specialists, focusing on the architectural decisions that sit between engineering and product.His work centers on helping teams develop the judgment to make the right technical calls not just follow the right frameworks. He is a Tech Lead in Marlabs Brasil.React Native Animations Are Usually a UX Decision FirstMany apps leave animation until the end of a React Native project. The core screens get built, the data flows work, the buttons do what they should, and motion gets treated as a layer of polish that can be added later if there is time.That is understandable, but it often shows in the final product. A screen appears with no sense of where it came from. A list item is removed, and the rest of the list snaps into place.A button accepts a tap without giving the user any visible acknowledgment. The app still works, but it feels more mechanical than it needs to.Good animation is not decoration. On mobile, it is one of the ways the interface explains itself. Motion can show that an item was added, that a view changed context, or that a touch was received. Without those cues, users have to infer more from less.The tooling has also improved enough that animation is easier to take seriously earlier in the work. The built-in Animated API is still useful, and Reanimated has become a common choice when interactions need to stay smooth under pressure.The harder question is no longer only technical. It is deciding which animations make the experience clearer.Why Animations Used to Feel FragileFor a long time, animation work in React Native often started with the built-inAnimatedAPI. It can still be the right tool, but there is an important constraint to understand: animation code that depends on the JavaScript thread can compete with the rest of the app.The JavaScript thread already has plenty to do. It runs component code, handles state updates, processes events, and reacts to network responses.If an animation depends on that same thread while the app is busy rendering or running business logic, frames can be missed.At 60 frames per second, each frame has about 16 milliseconds to be ready. Miss that window often enough and the animation looks uneven.A one-second animation may still complete in roughly one second, but it will not feel smooth.The useNativeDriver option helped by letting some animations run on the native side. It is especially useful for properties such as opacity and transform.The limitation is that it does not apply to every style property, especially layout-related properties, and every animation using a given animated value needs to stay consistent about which driver it uses.That history explains why some teams became cautious about animation. The problem was rarely that animation was impossible.The problem was that smooth animation required knowing which work could stay away from the busy JavaScript thread.What Reanimated ChangesReanimated approaches the problem differently. Its core idea is to let animation-related JavaScript run as worklets in a separate runtime, commonly on the UI thread, instead of relying on the main JavaScript thread for every frame.A worklet looks like an ordinary JavaScript function with a directive at the top:function simpleWorklet() { "worklet";}In everyday Reanimated code, you often do not write that directive yourself because hooks and gesture callbacks can be workletized automatically.The important point is what it enables: animated styles, gesture reactions, and shared values can update close to the rendering work, so they are less exposed to unrelated JavaScript workload.This is where the newer architecture matters. Modern React Native gives libraries better low-level tools through JSI, and Reanimated 4 is designed for the New Architecture. That does not mean all overhead disappears or that every animation is automatically smooth.It does mean the common path for high-quality motion is much better than hand-managing every frame from the JavaScript thread.In practice, this gives developers more room to focus on what the motion communicates instead of treating every animation as a threading problem.Three Places Animation Pays OffThe best animations in a mobile app usually do a small amount of work very clearly. They answer a question the user already has.Mount and unmount animations are a good first example. When an item appears in a list, a short fade or slide helps the user understand that something was added.When an item is removed, animating it out gives the user a moment to register the change before the layout closes the gap.Reanimated makes that kind of behavior concise withenteringandexitingprops on animated components:<Animated.View entering={SlideInLeft} exiting={SlideOutRight}> <TodoItem /></Animated.View>That small declaration is often enough for list-heavy screens. The component describes how it should enter and leave, and the surrounding UI feels less abrupt.Touch feedback is another high-value use case. Mobile users do not have hover states, so pressable elements need another way to confirm that a touch was received.A button that scales down slightly or changes opacity on press gives immediate feedback. Without that signal, users may wonder whether they tapped correctly or whether the app is slow.Navigation transitions are the third common pattern. Moving from a list to a detail screen is not just a visual replacement. It is a change in context.A familiar push transition helps users understand that they moved deeper into the app, while a reverse transition helps them understand they returned.These are not dramatic effects. They are small pieces of spatial and tactile feedback that make the app easier to follow.How to Decide What BelongsNot every interaction needs animation. The useful question is not "could this move?" It is "would movement help the user understand what just happened?"A few cases are strong candidates. Something appears, disappears, or changes position. The user has just tapped, dragged, or submitted something and needs feedback. The app moves between screens, tabs, modals, or other contexts.Other cases deserve skepticism. Motion that only calls attention to itself can make an interface feel less focused. A looping bounce, a decorative spin, or a transition that is longer than the action requires may be technically impressive but still make the product worse.The standard I would use is simple: if removing the animation removes useful information, keep it. If removing it changes only the style, reconsider it.What This Means in PracticeNone of this means every app should be full of motion. It means animation should be part of the interaction design discussion earlier than it often is.Reanimated and the New Architecture lower the technical cost, especially for gesture-driven interactions, shared values, and entering or exiting views. That gives teams room to make the better decision: choose animation where it clarifies state, confirms input, or preserves context, and skip it where it only adds noise.For most production apps, that leads to a restrained set of animations rather than a flashy one. The app feels more native because it communicates more clearly, not because every element moves.The best test is still practical. If removing the animation also removes useful information for the user, the animation probably belongs. If removing it only makes the screen less flashy, the interface may be better without it.This article is based on Chapters 16 and 26 ofReact and React Native, Sixth Edition,published by Packt. The book covers React 19, React Native, and their surrounding ecosystems from the ground up, with practical examples throughout.📚 Go DeeperIf you’re looking to build modern web and mobile apps with React, React and React Native by Mikhail Sakhniuk, Rodrigo Lobenwein, and Adam Boduch offers a practical guide to mastering React, React Native, TypeScript, state management, testing, and performance optimization for production-ready applications.🧑‍💻New content on TypeScript, React frameworks, state management strategies, and unit testing🛠️Get to grips with React fundamentals and modern React techniques and architecture📱Broaden your React expertise through mobile development with React NativeReact and React NativeBuy now at $39.59📢 Important: MobilePro is Moving to SubstackWe’ll be moving MobilePro to Substack soon. From that point forward, all issues will come frompacktmobilepro@substack.com.To ensure uninterrupted delivery, please whitelist this address in your mail client. No other action is required.You’ll continue receiving the newsletter on the same weekly cadence, and on Substack you’ll also gain more granular control over your preferences if you wish to adjust them later.💭 Let’s TalkAre your React Native animations helping users—or just decorating the UI?Reply and let me know.Advertise with usInterested in sponsoring this newsletter and reaching a highly engaged audience of tech professionals? Simply reply to this email and our team will get in touch with next steps.Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;display:none;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}.reverse{display:table;width: 100%;
Read more
  • 0
  • 0

Runcil Rebello
15 Jul 2026
12 min read
Save for later

Putting Companion Objects in Their Place (MobilePro #224)

Runcil Rebello
15 Jul 2026
12 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #224: Putting Companion Objects in Their PlaceHi ,As AI gets better at writing code, the question shifts from "Can it build this?" to "Should it be built this way?"That's where software design still matters. This week's article looks at one of Kotlin's smallest language features, the companion object, and why it has an outsized impact on code organization. Used thoughtfully, it keeps a class cohesive and expressive. Used carelessly, it becomes another place where complexity quietly accumulates.That feels particularly relevant this week. Swift continues evolving alongside Apple's AI ecosystem, Android Bench is improving how AI coding models are evaluated, and GPT-5.6 pushes agentic development even further. The tools are getting remarkably good at generating code, but they're still relying on developers to make sound architectural decisions. Companion objects are a reminder that clean software isn't just about syntax—it's about knowing where responsibility belongs.TL;DRCompanion objects are Kotlin's idiomatic way to define class-level members without using static.They work best for constants, factory methods, and small helpers that conceptually belong to the class.Because companion objects are real objects, they can hold state and implement interfaces, making them more flexible than Java's static members.Avoid using companion objects as containers for global mutable state or unrelated utility functions.If a companion object keeps growing, it's often a sign the class should be split into smaller, more focused components.As AI generates more boilerplate code, good architectural decisions like these become even more valuable than the code itself.This week’s news cornerApple Seeds Fifth iOS 26.6 and iPadOS 26.6 Betas to Developers: Apple has released the fifth iOS 26.6/iPadOS 26.6 developer beta, a week after the fourth, as it winds down iOS 26 ahead of September's iOS 27 launch. The update is mostly bug fixes and performance work, with a blocked-contacts limit notice and a possible anti-snatching lock feature.What's new in Swift: Apple's June 2026 Swift roundup covers major WWDC26 announcements—including Swift-written OS kernel components, a faster Swift 6.4 preview, an open-sourced QUIC networking layer, and new Foundation Models framework tooling—alongside community highlights like Swift Package Index joining Apple and CommunityKit's in-person gathering. It also tracks active Swift Evolution proposals, including withDeadline, yielding accessors, and new noncopyable array types.Evolving how LLMs are measured for Android: Google's July update to Android Bench adopts the Harbor benchmarking framework and adds 8 new models—including Claude Fable 5, which tops the leaderboard at 84.5—while opening the benchmark to community-submitted tasks and evaluations. The methodology change resets scoring baselines, though historical scores remain archived.GPT 5.6 is out: OpenAI has launched the GPT‑5.6 family (Sol, Terra, Luna) for general availability, claiming state-of-the-art results in coding, agentic, and reasoning benchmarks—often beating Claude and Gemini models at a fraction of the cost—plus a new "ultra" mode that coordinates multiple agents in parallel for demanding tasks. The release also introduces Programmatic Tool Calling in the Responses API and emphasizes strengthened safety evaluations ahead of launch.A glimpse of BuildWithAI newsletterBuilding with AI is quickly becoming part of every developer's workflow. Each week, Build with AI explores practical AI engineering, agentic development, LLMs, MCP, coding tools, and the techniques shaping modern software development. Here's a glimpse into a recent featured article:Vibe coding versus agentic engineering – Why the distinction mattersTo proceed, we need to draw a sharp line between what has become known as vibe coding and the professional discipline of agentic engineering.The term vibe coding captures a very real, very widespread phenomenon. Developers sit down with an advanced tool like Claude Code or GitHub Copilot, open a chat window, and begin throwing natural language instructions at the model: Build me a React dashboard with a dark mode toggle that pulls data from this endpoint. The model churns out a massive block of boilerplate. The developer pastes it into their IDE, runs it, and hits an error. They copy the stack trace, paste it back into the chat window, and say, Fix this.In this workflow, the developer is coding entirely by vibe.They are relying on the LLM’s probabilistic predictionsto stumble towards a working solution. They are not defining strict architectures or writing tests. They are merely providing a directional push and letting the model hallucinate the details.For the first forty-eight hours of a greenfield project (a prototype, a hackathon, a disposable script), vibe coding is arguably the most efficient way to build. The lack of constraints allows the model to draw on its training data freely, rapidly bridging the blank-page problem.The trap, however, is that vibe coding doesn’t scale. It fails structurally and spectacularly when applied to enterprise systems.Let’s examine why vibe coding fails in production.Three failures sit at the same structural level, and each one affects a different part of the workflow: output variance, context collapse, and the absence of a verification gate before deployment:Output variance: Ask for the same feature on Tuesday and Thursday and the model can hand you two different architectures, because it samples each next token with randomness baked in. One run gives you a clean repository pattern, the next inlines the same queries across three controllers. Neither is wrong on its own, but the work no longer converges on a stable shape you can build on.Context collapse: As the codebase grows, the developer using the vibe approach has to paste more and more context into the chat window. Eventually, the signal-to-noise ratio degrades. The AI becomes confused, overwriting unrelated components or losing track of the initial objective. The developer makes this worse without noticing, because LLMs are sycophantic by design and exist to satisfy the prompt. Suggest a flawed approach and a vibe-coding agent will happily generate thousands of lines executing it, never pushing back.No verification gate: Vibe coding runs no automated check between generation and acceptance. The developer eyeballs the output, runs it once, and moves on. Nothing catches the variance or the drift before the code reaches production, so the first two failures compound silently.Read more...Book now...Companion Objects in Kotlin:When (and When Not) to Use ThemIf you've spent any time in a Kotlin codebase, you've almost certainly bumped into a companion object. They look small — a keyword and a pair of braces tucked inside a class — but they carry a surprising amount of design weight. Used well, a companion object keeps a class self-contained and easy to reason about. Used carelessly, it becomes a dumping ground that quietly reintroduces the very problems Kotlin's object-oriented tools were meant to solve.This article walks through what companion objects actually are, the situations where they genuinely earn their place, and the situations where you're better off reaching for something else.What a companion object actually isEvery member you put inside a normal Kotlin class — a property, a function — belongs to an instance of that class. You need an object before you can touch it. A companion object flips that rule for a specific, named block inside the class: anything declared there belongs to the class itself, and can be reached through the class name with no instance required.class User { companion object { const val MAX_USERS = 100 }}// Accessed via the class name, no instance needed:Log.d("User", "Limit: ${User.MAX_USERS}")If you've written Java, C#, or a similar language, this will feel familiar: a companion object is Kotlin's answer to static members. Kotlin doesn't have a static keyword, so this is the idiomatic replacement — with one important difference worth remembering. A companion object is a real object under the hood, which means it can implement interfaces and hold its own state, something a plain static block cannot do.When companion objects earn their placeFactory functions and controlled constructionThe most common legitimate use is guarding how an object gets created. A Room database, for example, should only ever exist once per app process. Wrapping the creation logic in a companion object's function keeps that rule enforced in one place rather than trusted to every caller.companion object { @Volatile private var INSTANCE: CelebBookDatabase? = null fun getDatabase(context: Context): CelebBookDatabase { return INSTANCE ?: synchronized(this) { Room.databaseBuilder( context.applicationContext, CelebBookDatabase::class.java, "celeb_book_database" ).build().also { INSTANCE = it } } }}Constants that belong conceptually to the classA value like MAX_USERS isn't data about one particular user — it's a fact about the User type as a whole. Storing it in a companion object keeps the constant next to the class it describes, instead of floating in an unrelated top-level file that future readers have to go hunting for.Small, stateless helpers tied to the classUtility logic that operates purely on inputs — validating a phone number format before a Contact is built, say — often reads more clearly as a class-level function than as a free-floating top-level one, especially when several such helpers cluster around a single type.When to reach for something elseIf the logic doesn't need the class at allA genuinely standalone helper — one that doesn't reference the class's types or concepts — usually belongs as a plain top-level function. Wrapping it in a companion object just to give it a home adds a layer of indirection with no real benefit.If you're using it to fake global mutable stateIt's tempting to stash a mutable list or a shared counter in a companion object so any part of the app can reach it. This works, but it reintroduces the same problems as global variables in any language: hidden dependencies, harder testing, and state that can change from anywhere without warning. If several classes genuinely need shared access to the same data, that's usually a sign the data deserves its own class — often a repository or a singleton passed in explicitly — rather than being smuggled in through a companion object.If it's growing into a second, badly-organized classA companion object that accumulates dozens of unrelated functions is a sign the class is doing too much. At that point, splitting the logic into a proper separate class (or several) will usually be easier to test and easier for the next reader to follow.The MVVM connectionCompanion objects show up constantly in MVVM-style Android code because they map neatly onto the pattern's separation of concerns. A ViewModel's companion object can hold default configuration; a database class's companion object can guarantee a single shared instance; a Model class's companion object can hold constants the rest of the app needs to reference. In each case, the shared, class-level piece is deliberately kept small and separate from the instance-level logic that does the actual work — which is exactly the discipline that makes companion objects worth using in the first place.The short versionReach for a companion object when something genuinely belongs to the class rather than to any one instance of it — constants, factory functions, and small class-level helpers. Avoid it when you're really just looking for a convenient place to stash mutable state or unrelated utility code; in those cases, a dedicated class or a top-level function will usually keep your codebase easier to test, read, and change.This article is based on Chapter 22 of Android Programming for Beginners, Fourth Edition, published by Packt. The book covers Android, Kotlin, and Jetpack from scratch and Turbo charge progress with AI.📚 Go DeeperIf you’re looking to build Android apps with Kotlin, Jetpack Compose, Android Studio, and Agentic Programming, Android Programming for Beginners, Fourth Edition by John Horton offers a practical guide to mastering modern Android development workflows and Kotlin fundamentals.🧑‍💻 Create hands-on projects including, UI, sound, graphics, databases and game🛠️ Explore Android development techniques such as state management, Material Design, Room databases, Canvas drawing, and responsive layouts📱Learn how to (optionally) use AI to speed up learning and developmentAndroid Programming for BeginnersPre-order now at $44.99📢 Important: MobilePro is Moving to SubstackWe’ll be moving MobilePro to Substack soon. From that point forward, all issues will come frompacktmobilepro@substack.com.To ensure uninterrupted delivery, please whitelist this address in your mail client. No other action is required.You’ll continue receiving the newsletter on the same weekly cadence, and on Substack you’ll also gain more granular control over your preferences if you wish to adjust them later.💭 Let’s TalkHave companion objects ever simplified your code or quietly made it harder to maintain?Reply and let me know.Advertise with usInterested in sponsoring this newsletter and reaching a highly engaged audience of tech professionals? Simply reply to this email and our team will get in touch with next steps.Cheers,Nithya Sadanandan and Runcil Rebello,Editors-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;display:none;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}.social_block .social-table{display:inline-block!important}}
Read more
  • 0
  • 0

Runcil Rebello
22 Jul 2026
12 min read
Save for later

The Right Way to Modernize Legacy iOS (MobilePro #225)

Runcil Rebello
22 Jul 2026
12 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #225: The Right Way to Modernize Legacy iOSHi ,Not every legacy codebase is asking to be rewritten.Every development team eventually inherits code that feels older than the tools they're using today. The instinct is often to ask whether it's time for a rewrite, but that's rarely the first question worth answering. More often, the challenge is figuring out which parts of the architecture are still doing their job—and which ones deserve to evolve.This week's article explores exactly that through the lens of a real iOS modernization project. Instead of treating AI as an architect making design decisions, it shows how coding agents become far more effective when they're given clear architectural boundaries. That's a timely perspective as Android Studio expands its AI capabilities, Apple prepares developers for iOS 27, and modern developer tools continue shifting from generating code to collaborating with the engineers who design it.TL;DRLegacy codebases don't always need rewrites—many can be modernized incrementally with the right architectural boundaries.Separating DTOs from domain models makes framework migrations safer and easier to manage.AI coding agents work best when architectural rules are explicit rather than implied.Agent Skills help encode project conventions, enabling repeatable and reliable AI-assisted refactoring.Compile-time dependency injection improves reliability by catching wiring issues before runtime.Modernization is ultimately about preserving good architecture while letting AI handle repetitive implementation work.This week’s news corneriOS 26.6 prepares iPhones for the transition to iOS 27: Apple is expected to release iOS 26.6 as the final major update before iOS 27, focusing primarily on bug fixes, performance improvements, and security updates rather than new user-facing features. For iPhone developers, this release is important for validating app stability on the mature iOS 26 platform and ensuring a smooth transition to iOS 27 later this year.Apple sues OpenAI over alleged trade secret theft in hardware race: Apple has filed a lawsuit accusing OpenAI and several former Apple employees of misappropriating confidential hardware trade secrets to accelerate OpenAI's consumer device ambitions. Apple alleges the information was used to support development of future AI hardware, while OpenAI denies any wrongdoing.Android Studio Quail 2 speeds up AI workflows with parallel agent tasks: Android Studio Quail 2 is now stable, introducing a redesigned AI Agent Mode that lets developers run multiple AI-assisted tasks simultaneously, eliminating the need to wait for one request to finish before starting another. The release also integrates LeakCanary directly into the Android Studio Profiler for faster memory leak detection and brings AI-powered crash analysis to App Quality Insights with one-click fix suggestions.iOS 27 Beta 4 refines Siri, Photos, and developer testing: Apple has released iOS 27 Beta 4, focusing on polishing the platform ahead of launch with refinements to Siri, Photos, AirPods controls, and the Liquid Glass interface rather than introducing major new features. Developers can also test new capabilities like ProRes Log 2 video support, per-network Connectivity Assist, and updated media APIs while validating app compatibility against the latest SDK changes.A glimpse of BuildWithAI newsletterBuilding with AI is quickly becoming part of every developer's workflow. Each week, Build with AI explores practical AI engineering, agentic development, LLMs, MCP, coding tools, and the techniques shaping modern software development. Here's a glimpse into a recent featured article:The Mental Model - Why loops aren’t just bigger promptsFor two years, the workflow was: you write a prompt, you read the output, you write the next prompt. The agent is a tool you hold, one turn at a time. That’s prompt engineering, and no matter how good the context or the harness around it gets, you’re still the one closing the loop.Loop engineering removes you from that position. You’re not writing better instructions —you’re building the system that decides what to prompt, when, and whether the result is good enough to move on. The agent still does the work. The loop decides whether to trust it.No hype. No fluff. Just the mental models and code that hold up in production.The five moves every loop makes:Discovery- how the loop finds work to do, instead of waiting for you to hand it a task.Handoff- how work gets assigned to an agent, with enough context to act without you in the room.Verification- checking the result before it’s accepted. This is the one teams get wrong (more below).Persistence- recording what’s done, so the next tick doesn’t repeat work or lose state.Scheduling- deciding when the loop runs again, and when it stops.The part that breaks most loopsVerification is usually built as the agent checking its own work. That fails predictably: an agent grading its own output tends to praise it, the same way a student grading their own exam finds fewer mistakes than a second reader would. The fix isn’t a better prompt for self-review — it’s a structurally separate evaluator: a different call, ideally a different model, whose only job is to be skeptical.This is also why the same loop can produce opposite results in different hands. Two teams can build an identical five-move structure and get completely different reliability, because the judgment sitting inside the verification step is where the real engineering is. Generation is nearly free now. Judgment is the scarce resource.Read more...Build production-grade apps with Claude CodeClaude Code can generate code fast, but this workshop shows developers how to make it work reliably inside a real codebase.On July 31, Luís Rodrigues and Gabriela de Queiroz will build live and show how to use CLAUDE.md, Skills, MCP workflows, scaffolds, and guardrails to create production-grade apps. You’ll follow the setup step by step and leave with patterns you can apply to your own projects.Reserve your seatModernizing Legacy iOS Architecture with AI as an Observer, Not an ArchitectMost legacy codebase conversations start in the wrong place. Teams jump straight to "should we rewrite this?" when the better question is usually "what here is actually still sound?" That's the premise behind a recent deep dive into modernizing a real-world iOS e-commerce codebase, one that's architecturally solid but built on choices that made sense years ago: RxSwift for async work, Swinject for dependency injection.Rather than treating those choices as mistakes, the project treats them as historically valid decisions worth evolving carefully. Along the way, AI tools like Claude Code get a specific, limited role: not decision-maker, not architect, but observer. When an AI agent struggles to reason about a codebase, that friction usually says more about the architecture than about the tool:Here's what that modernization process looked like in practice.Clean architecture as the foundation, not the rewrite targetThe project's Clean Architecture setup follows a familiar three-layer split: Presentation, Domain, and Data, with dependencies flowing inward toward the Domain layer. Nothing exotic. What makes it work well under refactoring pressure is a strict separation between DTOs and domain models.DTOs are shaped by whatever the backend API returns, built for transport and decoding, not for expressing business meaning. Domain models describe what the app actually cares about, independent of how any given endpoint happens to structure its response. Repositories sit at the boundary, translating one into the other so the Domain layer never has to know about networking or API-specific quirks.That separation is what makes the rest of the migration possible. When your business logic doesn't know or care whether data arrived via RxSwift or async/await, swapping the underlying async mechanism becomes a contained, lower-risk change instead of a system-wide rewrite.Teaching an AI Agent to refactor with boundariesRefactoring a legacy codebase is delicate work. Ask an AI coding agent to migrate from RxSwift to Swift Concurrency with no explicit boundaries, and it will make architecturally significant decisions on its own, not because it's overreaching, but because nobody told it not to.The fix here is Agent Skills: reusable, domain-specific instruction sets (defined in a `SKILL.md` file) that get loaded automatically when relevant, turning a general-purpose coding agent into one that understands *this* project's conventions. Instead of a one-off prompt, the Skill encodes the actual migration pattern, how a `DisposeBag`-managed subscription becomes a plain async function, how a `BehaviorRelay`-backed ViewModel becomes a stored property backed by Swift's `Observation` framework, and so on.The results were concrete. Claude Code, guided by the Skill, correctly stripped RxSwift usage out of ViewModels and networking code. But it also revealed a gap: the agent removed the code that used RxSwift without recognizing that the now-unused RxSwift dependency was still declared in `Package.swift`. That's not a knock on the tool, it's a signal that dependency graphs themselves need to be encoded as part of the architectural rules an agent follows, not left to inference. A second, narrower Skill focused specifically on cleaning up `Package.swift` closed that gap.The pattern worth remembering: AI agents are excellent at mechanical transformation once the rules are explicit, and noticeably weaker at inferring implicit architectural intent. Skills are how you make that intent explicit.Dependency injection: from runtime wiring to compile-time validationThe second major thread is a migration from Swinject to Factory for dependency injection, a shift that's less about swapping libraries and more about when your dependency graph gets validated.Swinject wires dependencies at runtime through a container: you register a type, and if you forget to register something it depends on, the app compiles fine and only breaks when that resolution actually happens. Factory flips this, dependencies are declared at compile time, so missing or mismatched wiring shows up as a build error instead of a runtime surprise.This shift also affects where composition logic lives. Swinject supported "Assembly" groupings, letting registration logic live close to the feature it configured. Factory has no direct equivalent, so composition naturally gravitates toward a single, centralized location, in this case, the app module. That's a reasonable trade-off for a project of this size, but it's worth knowing upfront if you're planning a similar move on a larger, more modular codebase: centralization that's fine at one scale can become a bottleneck at another.Modularization: Where SPM Ends and Tuist BeginsThe chapter's second half turns to modularization, a genuinely separate concern from Clean Architecture, but one that becomes unavoidable as teams and codebases scale.Swift Package Manager, now deeply integrated into Xcode, handles dependency management and moderate modularization well. But its core logic lives inside Xcode's closed-source layer, which creates real limits: SPM can't customize build settings the way a full Xcode project can, and teams pushing for finer build-performance control eventually hit a ceiling.That's the gap Tuist fills. It started as a project-generation tool (in the same space as XcodeGen) but has since expanded into shared build caching, both module-level caching integrated with its own generation workflow, and caching layered on top of Xcode's native build system. The two approaches aren't mutually exclusive, and which one makes sense depends on project size and team structure.The migration path from SPM to Tuist follows the same Skill-based approach used earlier: rather than deleting `Package.swift` and starting over, Tuist is introduced alongside the existing SPM setup, and the architectural rules embedded in the SPM configuration, typed dependency helpers, module boundaries, and so on, get carried forward explicitly into the Skill that drives the migration. Skip that step, and the agent has no way of knowing which structural decisions were intentional.The real takeawayStrip away the specific tools, RxSwift, Swinject, Factory, Tuist, and the throughline is this: AI-assisted refactoring works best when architectural intent is written down somewhere the agent can actually read it. Agent Skills are that mechanism. They turn tribal knowledge about a codebase's conventions into something explicit, shareable, and repeatable across future refactors, shifting AI from a reactive code transformer into a collaborator that operates within boundaries the team has actually defined.If you're sitting on a codebase with its own set of "decisions made years ago," the lesson isn't to rewrite it. It's to make the architecture's implicit rules explicit, then let the agent do the mechanical part.This article is based on AI Driven Swift Architecture published by Packt.📚 Go DeeperIf you’re looking to confidently embrace the next era of Apple development, AI Driven Swift Architecture by Walid SASSI and Dave Poirier offers an unfiltered journey into modern Swift development with Swift 6 concurrency, SwiftUI, and Clean Architecture at its core.🤖 Explore Apple’s new on-device foundation models for private, offline intelligence🛠️ Learn and implement the Model Context Protocol (MCP) into practice by building custom MCP servers in Swift🔀 Figure out a repeatable workflow for shipping future-ready iOS apps feature by feature, agent by agent, and test by testAI Driven Swift ArchitectureBuy now at $44.99📢 Important: MobilePro is Moving to SubstackWe’ll be moving MobilePro to Substack soon. From that point forward, all issues will come frompacktmobilepro@substack.com.To ensure uninterrupted delivery, please whitelist this address in your mail client. No other action is required.You’ll continue receiving the newsletter on the same weekly cadence, and on Substack you’ll also gain more granular control over your preferences if you wish to adjust them later.💭 Let’s TalkIf you inherited a legacy app today, would you rewrite it or modernize it piece by piece? Why?Reply and let us know.Advertise with usInterested in sponsoring this newsletter and reaching a highly engaged audience of tech professionals? Simply reply to this email and our team will get in touch with next steps.Cheers,Nithya Sadanandan and Runcil Rebello,Editors-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;display:none;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}.social_block .social-table{display:inline-block!important}}
Read more
  • 0
  • 0
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at ₹800/month. Cancel anytime
Runcil Rebello
10 Jun 2026
10 min read
Save for later

WWDC Week Special: Getting Started with Apple's Foundation Models (MobilePro #221)

Runcil Rebello
10 Jun 2026
10 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #220: WWDC Week Special: Getting Started with Apple's Foundation ModelsHi ,We're entering an era where every app is expected to be intelligent.Not long ago, adding AI to an app meant wiring up external APIs, managing tokens, and sending user data to the cloud. Today, Apple is pushing a very different vision. With Foundation Models, developers can tap directly into an on-device language model using a native Swift API, bringing AI features into apps without sacrificing privacy or responsiveness.That shift feels especially significant after WWDC 2026. Between Siri AI, Apple Intelligence, and new developer APIs, Apple is making it clear that AI isn't just another feature category—it's becoming part of the platform itself. This week's article explores Foundation Models through a practical journaling app example and offers a glimpse into what building AI-powered iOS apps may soon look like.TL;DRApple’s Foundation Models framework provides direct access to an on-device language model through a straightforward Swift API.AI-powered features can run entirely on-device, eliminating cloud latency while preserving user privacy.Availability checks are essential because not all devices support Apple Intelligence.Async Swift patterns make integrating text generation surprisingly simple.The same framework can power summarization, extraction, recommendations, and other domain-specific AI experiences.Build Production-Ready AI Applications with Rust, Claude and CodexRust is becoming a strong choice for building fast, reliable AI applications.We are conducting a live workshop with Francesco Ciulla, you’ll learn how to use Claude and Codex to scaffold, debug, refactor, test, and ship production-ready Rust apps faster.You’ll build a practical Rust application live while exploring AI-native workflows for backend setup, AI integrations, retrieval/chat systems, and production-ready engineering patterns.Book your seats hereThis week’s news corneriOS 27 Beta 1 is released: Apple has released iOS 27 Beta 1, giving developers their first hands-on look at the next generation of Siri and Apple Intelligence. The update introduces APIs and platform changes that enable deeper Siri interactions, more contextual app experiences, and expanded Apple Intelligence integrations, while also refining the Liquid Glass interface and core system apps.Apple unveils Siri AI with deeper app integration and personal context: Apple has introduced Siri AI, bringing conversational interactions, on-screen awareness, and the ability to understand personal context from messages, emails, photos, and other app data. For iOS developers, the biggest opportunity lies in Siri’s expanded ability to take actions across apps and surface app content more intelligently, potentially making voice and AI interactions a key entry point into third-party experiences.WWDC 2026 brings new AI-powered tools for apps, creativity, and productivity: At WWDC 2026, Apple unveiled a range of new AI-driven features, including enhanced image generation, smarter photo editing, improved writing tools, intelligent Shortcuts, and richer app experiences across iPhone and iPad. Developers can tap into new APIs and on-device AI capabilities to build more personalized, context-aware features directly into their apps.SwiftUI gains 3D layouts, richer controls, and performance improvements: At WWDC 2026, Apple introduced major SwiftUI updates, including support for 3D layouts and spatial interfaces, making it easier to build immersive experiences across Apple platforms. The release also adds new controls, improved animation and scrolling APIs, enhanced interoperability with UIKit and AppKit, and performance optimizations that reduce code complexity.Kotlin 2.4 and Koin Compiler 1.0 boost safety and developer productivity: Kotlin 2.4 introduces improvements across the language, compiler, tooling, and Kotlin Multiplatform ecosystem, helping developers build faster and more reliable applications. Complementing this, Koin Compiler 1.0 brings compile-time validation for dependency injection, reducing runtime errors and making Koin configurations type-safe through both DSL and annotation-based approaches.Introducing AI Agents SimplifiedAI Agents Simplified cuts through AI noise with clear, actionable breakdowns of agents, automation, and what's actually worth your attention.🌍 Trusted by 58,000+ subscribers worldwide📬 New issues every week — no fluff, no hype🧠 Built for curious minds, not just engineersWant to feature your product to a highly engaged AI audience? Email to explore partnership options — Mention this newsletter and get a discount on your first sponsorship package.Subscribe for freeBuild Smarter iOS Apps with Apple’s Foundation Models FrameworkEver wished your iOS app could write for you? That’s exactly what Apple’s Foundation Models framework makes possible. Introduced at WWDC25 and now a centerpiece of the Apple Intelligence story, Foundation Models gives developers direct, on-device access to a powerful large language model — no cloud calls, no API keys, no latency spikes. The model lives right on the device, meaning it works even in airplane mode and keeps user data strictly private.To see how it works in practice, we’ll walk through adding a Foundation Models-powered “Assist” screen to a journal app called JRNL. The screen lets a user type a short prompt — say, “a rainy afternoon hike in the hills” — and have the model draft a full journal entry. It’s a small feature, but it illustrates the full pattern you’ll use in any app that calls on this framework.What Foundation Models Actually DoesAt its core, the Foundation Models framework exposes Apple’s on-device language model through a clean Swift API. You create a LanguageModelSession, optionally with a system-level instruction that shapes the model’s behavior, and then call session.respond(to:) with a user prompt. That’s it. The framework handles everything underneath: model loading, memory management, and inference.Because the model runs locally, response times are fast and consistent. More importantly, user data — the prompts they type, the content they generate — never leaves the device. For categories like journaling, health, or finance, that privacy guarantee is not just a nice-to-have; it may be the reason a user chooses your app over a competitor’s.One important caveat: not every device supports Apple Intelligence. Before calling into the framework, you need to check availability via SystemLanguageModel.default.availability. The availability enum covers three distinct failure states — device not eligible, Apple Intelligence disabled by the user, and model not yet downloaded — each of which calls for a different response in your UI.Setting Up the SessionThe first step is importing the framework and creating a session. In the JRNL example, the session is declared as a stored property on the view controller so it persists for the lifetime of the screen:import FoundationModelsprivate let session = LanguageModelSession( instructions: "Write a journal entry based on the user's prompt.")The instructions: parameter is your system prompt — the framing that tells the model what role it is playing. Keep it concise and specific. A tightly-scoped instruction produces more predictable, on-brand output than a vague one.Generating Text — Async All the Way DownText generation is an asynchronous operation, so your generation method must be marked async. A clean pattern is to isolate generation in its own private method that returns a plain String, making error handling easy and keeping your action handler readable:private func generateResult(prompt: String) async -> String { do { let result = try await session.respond(to: prompt) return result.content } catch { return "Could not generate content, please try again." }}In your button action, wrap the call in a Swift Task { } block and disable the button while the model is running so users can’t fire off duplicate requests. When the result arrives, assign it directly to your text view. The whole interaction — from button tap to displayed text — is typically well under a second on a capable device.What to Build NextJournaling is just one of many natural fits for this framework. Text summarization is an obvious next step — feed in a long entry and ask the model to produce a one-sentence recap for a timeline view. Extraction is another compelling use case: structured data like locations, people, or mood keywords can be pulled from free-form text without a regex in sight. You can also use the model to provide contextual suggestions — a workout app that drafts a reflection on your run, a recipe app that generates variations based on what’s in your fridge.The key to getting good results is prompt engineering. The instructions: parameter is powerful — use it to set tone, length, format, and persona. Pair that with a well-crafted user prompt and you will be surprised how capable the on-device model is for focused, domain-specific tasks.Apple’s documentation links straight from the framework header, and the WWDC25 session (developer.apple.com, session 286) walks through the architecture in depth. Start there, then experiment. The best way to develop an intuition for what the model can do is to give it a problem from your own app and see what comes back.This week’s WWDC 2026 makes this story even more exciting. Apple unveiled next-generation Apple Foundation Models built in collaboration with Google’s Gemini — with a cloud-tier model described as matching Gemini’s frontier quality — alongside a completely rebuilt Siri AI capable of contextual, cross-app reasoning. Third-party developers can now build on models like Claude and Gemini directly within Xcode via new coding agents. It’s hard not to feel a sense of wonder at the pace of it all: what started as a simple on-device text-generation API at WWDC25 has, in a single year, grown into an open, multi-model, multi-cloud platform powering the next generation of Apple software. The Foundation Models you build with today are just the beginning.📚 Go DeeperIf you're looking to start your journey into iOS app development, iOS 26 Programming for Beginners by Ahmad Sahar offers a practical, hands-on introduction to building modern iPhone and iPad apps with Swift 6 and Xcode 26. Through a project-based approach, you'll learn UIKit, data persistence, media integration, maps, Apple Intelligence, and the new Liquid Glass design system while creating a fully functional journal app from scratch.🧑‍💻Learn to integrate Apple Intelligence and the sleek new Liquid Glass UI for modern app experiences🛠️Have fun building your first iOS app and start your iOS programming career📱Establish a solid foundation with UIKit, testing, and deployment best practicesiOS 26 Programming for BeginnersBuy now at 44.99📢 Important: MobilePro is Moving to SubstackWe’ll be moving MobilePro to Substack soon. From that point forward, all issues will come frompacktmobilepro@substack.com.To ensure uninterrupted delivery, please whitelist this address in your mail client. No other action is required.You’ll continue receiving the newsletter on the same weekly cadence, and on Substack you’ll also gain more granular control over your preferences if you wish to adjust them later.💭 Let’s TalkWhen a new framework drops at WWDC, how quickly do you actually adopt it?Reply and let me know.Advertise with usInterested in sponsoring this newsletter and reaching a highly engaged audience of tech professionals? Simply reply to this email and our team will get in touch with next steps.Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;display:none;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}.social_block .social-table{display:inline-block!important}}
Read more
  • 0
  • 0

Runcil Rebello
11 Jun 2025
13 min read
Save for later

MobilePro #175: All about WWDC25, Gemini 2.5 Pro preview, updates on Kotlin and Flutter, and more…

Runcil Rebello
11 Jun 2025
13 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #175: All about WWDC25, Gemini 2.5 Pro preview, updates on Kotlin and Flutter, and more…When your app depends on third-party APIs, their security becomes your problemMobile apps today are rarely standalone. You’re plugging into payment processors, analytics SDKs, cloud backends, and dozens of APIs. But what happens when one of those vendors has a misconfigured cloud environment?You still take the hit. Especially if you’re building in fintech, health, or any space with regulatory pressure.That’s where something like CloudVRM can quietly do a lot of heavy lifting.It connects directly to your vendors’ cloud environments (AWS, Azure, GCP) and pulls telemetry every 24 hours. It flags misconfigs, maps everything to compliance frameworks (like SOC 2, ISO 27001, and DORA), and helps teams avoid the endless back-and-forth of security forms and audit spreadsheets.No noisy dashboards, no one-off audits—just continuous visibility into the cloud stack you rely on.See how it worksHi ,Welcome to the 175th edition of MobilePro!This week’s issue brings you all the happenings of WWDC25 and dives into major leaps in AI, mobile platforms, and developer productivity—from iOS’s dramatic redesign to autonomous AI agents transforming the software lifecycle:🍎 iOS 26 Redefines the iPhone Experience: Apple's iOS 26 re-introduces Apple Intelligence, an on-device AI system, along with deeper app customization and a refined software design featuring Liquid Glass.🛠️ Apple Supercharges Developer Toolkit: Xcode 26, new APIs, and direct access to Apple Intelligence's on-device model will empower developers to build next-generation AI-powered experiences.💰 App Store Ecosystem Drives Trillions: The App Store facilitated $1.3 trillion in developer billings and sales in 2024, with the vast majority of transactions commission-free for Apple.📈 Improve Your App Conversion Rate: Learn how to boost your app's conversion in just two weeks, covering A/B testing, App Store search rankings, and remote config systems.💡 GitHub Copilot Enhances Visual Studio: GitHub Copilot introduces "Next Edit Suggestions" in Visual Studio 2022, providing context-aware recommendations for code edits.🐛 Flutter 3.32.2: Windows Fixes & CI Improvements: The latest Flutter update brings essential fixes for Windows development, enabling Linux CI testing and more reliable Android package builds.🍎 WWDC AI Unveiled: Apple's new on-device AI and Foundation Models prioritize privacy and cost, even as they play catch-up with competitors and their own research highlights AI limitations.And in What’s Happening in AI?—Google Unleashes Gemini 2.5 Pro. Stick around for this week’s Developer Tip to learn about mobile app testing checklist the Did You Know? section to learn about the ongoing feud between Apple and Epic games!Let’s dive in!P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!Machine Learning Summit 2025JULY 16–18 | LIVE (VIRTUAL)20+ ML Experts | 25+ Sessions | 3 Days of Practical Machine Learning and 35% OFFBOOK NOW AND SAVE 35%Use Code EMAIL35at checkoutDay 1: LLMs & Agentic AIFrom autonomous agents to agentic graph RAG and democratizing AI.Day 2: Applied AIReal-world use cases from tabular AI to time series GPTs and causal models.Day 3: GenAI in ProductionDeploy, monitor, and personalize GenAI with data-centric tools.Learn Live from Aurimas Griciunas, Luca Massaron, Thomas Nield, and many more.35% OFF ends soon – this is the lowest price you’ll ever see.📱 What's Happening in Mobile Development?If there’s any major news in the world of mobile app dev in the last week, MobilePro has you covered.iOS - WWDC 2025Apple boosts developer toolkit with Xcode 26, new APIs, and AI integration: Apple is enhancing its AI capabilities by allowing developers to integrate its on-device foundation model into their apps. A few of the updates are:Foundation Models Framework:Apple's new Foundation Models framework empowers developers to integrate privacy-preserving, on-device AI features from Apple Intelligence into their apps with minimal code, supporting capabilities like guided generation and tool calling. This framework allows for free AI inference, enabling new intelligent user experiences even offline.Xcode 26:Xcode 26 enhances developer productivity with integrated AI features, allowing direct connection to large language models like ChatGPT for tasks such as code generation, testing, and debugging. It also introduces Coding Tools for context-aware suggestions and a redesigned interface with improved accessibility features and Voice Control to dictate Swift code.Swift 6.2:Swift 6.2 enhances performance, concurrency, and interoperability with languages like C++, Java, and JavaScript, now also supporting WebAssembly. It further simplifies single-threaded code by allowing developers to default modules or files to the main actor, reducing the need for explicit annotations.Smarter iPhones and deeper app customization with iOS 26: Apple’s iOS 26 introduces Apple Intelligence, a new on-device AI system that enhances everything from Siri to writing tools and image generation. Developers get more freedom with Home Screen customization and advanced privacy controls.Apple unveils a calmer, more tactile design language across platforms: Apple is rolling out a refined software design across iOS that emphasizes clarity, depth, and responsiveness. It has been created with a new material known as Liquid Glass.Apple Intelligence expands with richer app control and system-wide context: Apple is supercharging its AI features with deeper integration across apps. Developers will get direct access to Apple Intelligence’s On-Device Model and be able to build Apple Intelligence-powered experiences into their apps.App Store ecosystem drives $1.3 trillion in global developer sales and billings: In 2024, the App Store ecosystem facilitated $1.3 trillion in developer billings and sales, with over 90% of these transactions occurring without Apple collecting a commission. This growth was propelled by digital goods, physical services, and in-app advertising.AndroidAndroid Studio Narwhal Feature Drop Canary 4 enhances developer productivity: The Android Studio Narwhal Feature Drop Canary 4 introduces a suite of updates aimed at improving developer efficiency. Key enhancements include fixing image crash and image copying issues and sorting out AndroidBuildScriptsGroupNodeTest.appProject for IDEA, among others.OtherKotlin 2.2.0-RC2 introduces context parameters and stabilizes key language features: Kotlin 2.2.0-RC2 brings context parameters in preview, allowing functions and properties to declare dependencies implicitly available in the surrounding context. This release also stabilizes features like guard conditions in when expressions, non-local break and continue, and multi-dollar string interpolation. Developers can enable context parameters using the -Xcontext-parameters compiler option.Flutter 3.32.2 has updates about running tests and building on Windows: Flutter 3.32.2 went live recently and contains fixes to Windows issues. Flutter's CI can now run tests on Linux instead of Windows when not required. Flavored Android packages should now be able to successfully build on Windows repeatedly until the next clean.Firebase Data Connect expands server-side expressions with CEL support: Firebase Data Connect now supports Common Expression Language (CEL) for server-side field population, enabling developers to define dynamic, secure values like auth.token.email or concatenated strings directly in their schemas.GitHub Copilot introduces Next Edit Suggestions in Visual Studio: Visual Studio 2022 version 17.14 now features GitHub Copilot's Next Edit Suggestions (NES), which predict and recommend subsequent code edits based on your recent changes. Unlike traditional code completions, NES provides context-aware suggestions for insertions, deletions, or modifications anywhere in your file, streamlining tasks like refactoring or syntax updates.These days, it is important to have a mobile app testing checklist considering its complex requirements and feature sets. Check out the guide here for insights into tools, frameworks, and best practices.In case you have any tips to share with your fellow mobile developers, do reply to this mail and we’d be glad to feature you in a future edition of MobilePro.🤖 What’s Happening in AI?AI is evolving fast—are you keeping up? MobilePro brings you key discussions, trends, and expert takes in one place.OpenAI challenges a New York Times lawsuit demand: OpenAI is challenging a New York Times lawsuit demand to indefinitely retain consumer ChatGPT and API user data, citing user privacy commitments. While complying with the order for now, OpenAI is appealing it to uphold their standard 30-day data deletion policy. This situation primarily impacts consumer and non-ZDR API users, not Enterprise, Edu, or Zero Data Retention API customers.Preview of Gemini 2.5 Pro is here: Google has released an upgraded preview of Gemini 2.5 Pro, their "most intelligent model yet," ahead of its general availability in a few weeks. This version shows significant improvements in coding benchmarks like Aider Polyglot and maintains its lead on LMArena and WebDevArena, while also excelling in reasoning tasks on GPQA and Humanity’s Last Exam. Developers can access this enhanced model via the Gemini API in Google AI Studio and Vertex AI, with improved style and structure in its responses.Introducing Bing Video Creator: Microsoft has launched Bing Video Creator, a free tool powered by Sora, that allows users to generate short videos from text prompts. Rolling out initially on the Bing Mobile App, it aims to democratize AI video creation, enabling users to effortlessly bring their ideas and stories to life. The feature includes safeguards against harmful content and provenance information to identify AI-generated videos.New features, fixes, and improvements to Codex: Codex in ChatGPT has received several updates, including the ability for Plus, Pro, and Team users to grant it internet access during task execution. Other new features include updating existing pull requests and voice dictation for tasks. The update also brings various fixes and improvements, such as support for binary files, enhanced error messages, and increased limits for task diffs and setup script duration.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share?MobileProbrings them to you all in one place.Apple Is Pushing AI Into More of Its Products—but Still Lacks a State-of-the-Art Model: Want the scoop on Apple's latest moves in AI, and what it means for your app's future? This breakdown is essential reading! While Apple just rolled out new on-device AI features at WWDC—think real-time translation and improved image tools—and introduced the Foundation Models framework for developers, they're still playing catch-up to the big guns in advanced AI.How to improve app conversion rate: Do you want to improve your app’s conversion rate in just 2 weeks? Then this article by Indie Developer Diaries is for you. It covers main areas for app conversion, including successful A/B testing, Apple's recent quiet changes to App Store search rankings, and current development work on remote config systems and Pro subscription features.Why do we need a build system in Android development?: Ever wondered about the build system role in Android development? Sruthi Reddy, in her article, unravels the commonly overlooked system, which is impossible to live without. Learn more about this quiet hero that is behind every successful app launch.Getting started with Expo and React Native 2025: This article provides a practical guide to setting up a React Native project using the Expo framework in 2025, covering initial setup, ESLint and Prettier integration, and routing with Expo Router for efficient mobile app development.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.If you are an experienced UI/UX designer, developer, or product manager looking to improve team collaboration and elevate your Figma workflows, this book is for you.🤝 Streamline cross-functional collaboration with real-world Figma workflows, accurate design handoffs, and scalable team processes.🏗️ Build robust, scalable design systems for enterprise-grade UI/UX.🤖 Discover powerful plugins, APIs, and leverage AI to automate and extend Figma’s capabilities.Design Beyond Limits with FigmaPreorder now at $39.99!Mobile App Development Tutorial — Excerpt from .NET MAUI Cookbookby Alexander RusskovLinear layouts addressmost scenarios, but what if you need to create something more complex? For example, what if we want to create a simple editing form with labels and editors, where the first column is resized based on the longest label in all rows?We can use Grid, which is an extremely powerful panel with a simple concept, but as with any other control, it may pose unexpected challenges for those who don’t fully understand its specifics. Alexander Russkov’s .NET MAUI Cookbook will show you how to create grid layouts.To follow the steps described in this recipe, it’s sufficientto create a blank .NET MAUI application.Creating grid layoutsIn this recipe, we will create two simple layouts using the Grid panel, allowing us to use most of Grid's capabilities, which we will discuss in later sections.I used a non-transparent background for child elements in the Grid to demonstrate the space occupied by the elements in grid cells.Create a two-column layout where the first column is increased based on the largest element. To automatically adjust the size of the first column based on its content, set the first column’s width to Auto using the ColumnDefinitions property:<Grid RowDefinitions="40,80" ColumnDefinitions="Auto, *"> <Label Text="Title"/> <Label Text="Description" Grid.Row="1"/> <Editor Grid.Column="1"/> <Editor Grid.Row="1" Grid.Column="1"/></Grid>Now, let’s create a layout with two columns and stretch a label in the second column across two rows. To do this, define two columns and two rows, and set Grid.RowSpan to span multiple lines with the label:<Grid RowDefinitions="40,40" ColumnDefinitions="*, 60"> <Label Text="Headline"/> <Label Text="Supporting text" TextColor="DarkGray" Grid.Row="1" /> <Label Text="100+" VerticalOptions="Center" HorizontalOptions="End" Grid.RowSpan="2" Grid.Column="1" /></Grid>Run the project to see the result.***There are plenty more such recipes, which you can read in.NET MAUI Cookbook..NET MAUI CookbookBuy now at$44.99A US appeals court rejected Apple's request to delay changes to its App Store, forcing the company to allow alternative payment options and potentially impacting its lucrative "walled garden" approach. This ruling stems from an ongoing legal battle with Epic Games and could significantly alter the economics of the mobile app industry.Sourced from developer-tech.com.👋 And that’s a wrap. We hope you enjoyed this edition of MobilePro. If you have any suggestions and feedback, or would just like to say hi to us, please write to us. Just respond to this email!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0

Runcil Rebello
18 Jun 2025
8 min read
Save for later

MobilePro #176: iOS 26 debut, Updates on React Native, Gemini launches animation in Android 16 beta 2, and more…

Runcil Rebello
18 Jun 2025
8 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #176: iOS 26 debut, updates on React Native, Gemini launches animation in Android 16 beta 2, and more…Get hands-on with MCP!Join us on July 19 for a 150-minute interactive MCP Workshop. Go beyond theory and learn how to build and ship real-world MCP solutions. Limited spots available! Reserve your seat today.Use code EARLY35 for 35% offHi ,Welcome to the 176th edition of MobilePro! This week’s edition explores the latest in mobile OS innovation, GenAI breakthroughs, and developer empowerment—from Apple’s Liquid Glass UI to Android’s evolving toolchain and AI-powered productivity tools:🍎 iOS 26 Redefines Mobile Intelligence: Apple’s iOS 26 and iPadOS 26 debut in beta with a striking Liquid Glass redesign, deep Apple Intelligence integration, and notable device support changes—leaving behind iPhone XR and 7th-gen iPad.🗺️ Apple Services Get a Brain Boost: AI upgrades land across Maps, Music, and Wallet—with features like AutoMix, Lyrics Translation, and personalized navigation.📱 Android 16 QPR1 Brings Gemini Flair: Beta 2 introduces Gemini’s animated launch experience, haptic feedback, and a reimagined Pixel Launcher with AI Mode.⚛️ React Native 0.80 Modernizes the Stack: The latest release integrates React 19.1, experimental iOS prebuilt deps, and interprocedural optimization to trim APK sizes—while freezing the Legacy Architecture and ending official JSC support.📱 Is Cursor Ready for Android Accessibility?: A deep dive into Cursor's Android output reveals room for improvement in scroll support and content clarity—though typical of early AI code generation.🛠️ Upgrade Your React Native App with Confidence: A practical guide for modernizing React Native projects to the New Architecture, complete with solutions for Redux migration, i18n challenges, and cross-platform build errors.And in What’s Happening in AI?—OpenAI reflects on the emotional dynamics between users and AI. Stick around for this week’s Developer Tip to generate dynamic, customizable themes with Material Design 3 and the Did You Know? section to learn about the Apple’s new mail icon!Let’s dive in!P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!📱 What's Happening in Mobile Development?If there’s any major news in the world of mobile app dev in the last week, MobilePro has you covered.AppleiOS 26 and iPadOS 26 gain a Beta debut with major upgrades: Apple introduced iOS 26 and iPadOS 26 via a Beta release with a new Liquid Glass design and deeper Apple Intelligence integration. The update drops support for older devices like iPhone XR and 7th-gen iPad.Apple enhances Maps and Music services with AI features and updates: This fall, Apple is introducing AI-driven enhancements across its services, including AutoMix in Apple Music for seamless song transitions and Lyrics Translation for multilingual support. Apple Maps gains personalized navigation with preferred routes and a Visited Places feature, while Apple Wallet introduces Digital ID and improved order tracking.Apple expands parental controls with enhanced child safety features: Apple's upcoming software updates introduce new parental control tools, including requiring parental approval for children to message new contacts and the ability to share a child's age range with apps without disclosing exact birthdates. The App Store will adopt more detailed age ratings, 13+, 16+, and 18+, to better guide content suitability.AndroidAndroid Studio Narwhal feature drop enhances developer productivity: The Android Studio Narwhal Feature Drop (2025.1.2) introduces AI-powered code suggestions, improved device mirroring, and enhanced Jetpack Compose support. These updates aim to streamline development workflows and boost efficiency for Android developers. The release is currently available in the Canary channel.Android 16 QPR1 Beta 2 tests Gemini launch animation: Android 16 QPR1 Beta 2 introduces a new Gemini overlay animation, featuring a screen-shrinking effect and restored haptic feedback. This update also includes A/B testing for a redesigned Pixel Launcher search field with AI Mode.Google to discontinue Android Instant Apps by December 2025: Google is set to shut down Android Instant Apps in December 2025 due to low developer adoption. The feature allowed users to try parts of apps without full installation, but its complexity and limited support led to minimal usage. Developers are now focusing on alternative discovery methods like AI-powered app highlights and simultaneous installs.React NativeReact Native 0.80 released with major enhancements: React Native 0.80 introduces React 19.1 integration, experimental iOS prebuilt dependencies to reduce build times, and Android APK size reductions via Interprocedural Optimization. It also deprecates deep imports in favor of a stable JavaScript API and freezes the Legacy Architecture, encouraging migration to the New Architecture. Additionally, this is the final release with official JavaScriptCore support, which will now be community-maintained.Do you want to instantly generate dynamic, customizable color schemes and UI themes for apps using Material Design 3? Check out this link.In case you have any tips to share with your fellow mobile developers, do reply to this mail and we’d be glad to feature you in a future edition of MobilePro.🤖 What’s Happening in AI?AI is evolving fast—are you keeping up? MobilePro brings you key discussions, trends, and expert takes in one place.Some thoughts on human-AI relationships: As people increasingly form emotional bonds with AI like ChatGPT, OpenAI is focusing on understanding and responsibly shaping these human-AI relationships—emphasizing perceived consciousness and emotional well-being while avoiding designs that suggest AI has an inner life. The goal is to balance warmth and helpfulness with clear boundaries, ensuring healthy, grounded interactions as AI becomes more integrated into daily life.SmartBear makes GenAI-powered, no-code mobile app testing accessible to every QA Professional: SmartBear has launched Reflect Mobile, a no-code, GenAI-powered mobile app testing tool that enables QA professionals of all skill levels to automate cross-platform tests for iOS and Android without writing code. Integrated with HaloAI, it supports intuitive, reusable test creation and fits into existing workflows, simplifying mobile testing for both technical and non-technical users.Managing the growing risk profile of agentic AI and MCP in the enterprise: Agentic AI and the Model Context Protocol (MCP) offer major productivity gains by enabling autonomous, decision-making AI tools in enterprise development, but they also significantly increase security risks like prompt injection and tool poisoning. To safely leverage these technologies, organizations must prioritize secure coding practices, developer education, and rigorous risk management throughout the software development lifecycle.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share?MobileProbrings them to you all in one place.Multimodal Voice Intelligence with .NET MAUI: The article demonstrates how to enhance a .NET MAUI mobile app with multimodal voice intelligence by integrating voice input, transcription using OpenAI’s Whisper model, and AI-driven task extraction—enabling users to interact naturally through speech and co-create structured data from unstructured voice memos. It highlights using Microsoft.Extensions.AI and .NET plugins to implement cross-platform voice capabilities with minimal friction.Does Cursor Generate Accessible Android Apps?: The article evaluates Cursor's ability to generate accessible Android apps and finds that while the generated code meets some accessibility standards, it suffers from common issues like redundant content descriptions, lack of scroll support, and poor font scaling—highlighting that Cursor is less suited for Android development compared to tools like Gemini or Junie. Despite these flaws, the problems are typical of AI-generated code and not uniquely worse in Cursor’s case.How to Upgrade Your React Native Project to the New Architecture (v0.79+): This guide walks you through two proven upgrade paths: using the React Native Upgrade Helper for smaller version gaps, or starting fresh for legacy projects. Along the way, it tackles real-world challenges like Redux refactoring, i18n updates, bridging failures, and build issues on both Android and iOS—with clear, practical fixes. If you’re aiming for a modern, future-proof React Native app, this post has everything you need to make the jump with confidence.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.A perfect book for digital designers, developers, UX professionals, product managers, and business leaders committed to inclusive design.Inclusive Design for AccessibilityPreorder now at $34.99!The new Mail icon in iOS subtly features Apple’s Infinite Loop headquarters address—"1 Infinite Loop, Cupertino, CA 95014"—on the envelope. It’s a clever Easter egg that pays homage to Apple’s roots, tucked right into your home screen!Sourced from Reddit.👋 And that’s a wrap. We hope you enjoyed this edition of MobilePro. If you have any suggestions and feedback, or would just like to say hi to us, please write to us. Just respond to this email!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0

Runcil Rebello
25 Jun 2025
7 min read
Save for later

MobilePro #177: Apple’s AI paper’s shocking revelations, Kotlin updates, Claude Code gains MCP support, iOS 26 Beta 2 out, and more…

Runcil Rebello
25 Jun 2025
7 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #177: Apple’s AI paper’s shocking revelations, Kotlin updates, Claude Code gains MCP support, iOS 26 Beta 2 out, and more…Get hands-on with MCP!Join us on July 19 for a 150-minute interactive MCP Workshop. Go beyond theory and learn how to build and ship real-world MCP solutions. Limited spots available! Reserve your seat today.Book now!Hi ,Welcome to the 177th edition of MobilePro! This week’s edition highlights cutting-edge updates across AI research, mobile platform fixes, and powerful enhancements for developer tooling—from Apple’s critique of AI reasoning to Kotlin’s progressive evolution and the upcoming FlutterCon event:🧠 Apple AI Paper: Apple’s “The Illusion of Thinking” paper exposes top AI models’ failures in complex reasoning under pressure.🧩 Kotlin 2.2.0: Kotlin 2.2.0 brings context parameters and stabilizes modern language features for expressive, powerful coding.🤖 Claude Code MCP: Claude Code gains remote MCP support for seamless external tool integration like Sentry and Linear.🍏 iOS 26 Beta 2: iOS 26 Beta 2 resolves iPhone boot issues and unlocks access to Apple’s on-device AI for developers.🦋 FlutterCon USA 2025 and 🏙️ Droidcon NYC 2025: FlutterCon and Droidcon light up NYC with expert talks, workshops, and community experiences.📝 WWDC 2025 Commentary: John Gruber offers sharp insights into Apple’s hits and misses from WWDC 2025.⚡ Vibe Coding Debate: “Vibe coding” with AI sparks debate—efficiency enhancer or risky dev shortcut?Stick around for this week’s Developer Tip to learn why AI features break Microservices testing and how to fix it and the Did You Know? section to learn about AntiDot, a new Android malware.Let’s dive in!P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!📱 What's Happening in Mobile Development?If there’s any major news in the world of mobile app dev in the last week, MobilePro has you covered.AppleApple paper criticizes AI models’ reasoning abilities: Apple’s study “The Illusion of Thinking” shows that top AI models struggle with complex reasoning, suffering from “complete accuracy collapse” under pressure. The findings suggest these models rely on pattern recognition rather than true understanding. The paper questions industry claims about the reasoning strength of current AI systems, including OpenAI's o3, Anthropic's Claude 3.7, and Google's Gemini.iOS 26 Beta 2 fixes boot issue on iPhone 15 and 16 models: Apple's iOS 26 Beta 2 addresses a critical issue where some iPhone 15 and iPhone 16 devices displayed a low battery symbol and failed to start after updating to Beta 1. Apple’s Foundation Models framework also now gives developers direct access to the on-device large language model powering Apple Intelligence.AndroidKotlin 2.2.0 introduces context parameters and stabilizes key features: Released on June 23, 2025, Kotlin 2.2.0 brings context parameters in preview, enhancing dependency injection and DSL design. It also stabilizes guard conditions, non-local break/continue, and multi-dollar interpolation.Android Studio Narwhal 2025.1.2 Canary 6 enhances developer tools: Android Studio Narwhal 2025.1.2 Canary 6 includes fixes for AGP multi-variant issues and permission documentation. It also adds targetSdk support for Kotlin Multiplatform and updates Jetpack Compose Preview guidelines.June 2025 Google Play services update brings new developer tools and UI enhancements: The June 2025 Google Play services v25.24 update introduces new features including support for expressive account design and enhanced Find Hub setup for improved phone tracking. Developers gain new APIs for Utilities and Device Connectivity processes, alongside UI updates for cross-device settings. Additionally, Android WebView v138 receives privacy improvements and new web content display features.Artificial Intelligence (AI)Claude Code adds remote MCP support for seamless tool integration: Anthropic has introduced remote Model Context Protocol (MCP) support in Claude Code, enabling developers to integrate external tools and data sources without managing local servers. This enhancement allows direct access to services like Sentry and Linear, facilitating real-time debugging and project management within the coding environment.Events & ConferencesFlutterCon USA 2025 on June 25–26 in Brooklyn, NYC: FlutterCon USA 2025 is set to bring together Flutter developers for two days of tech talks, workshops, and networking. The event features prominent speakers like Andrew Brogdon (Google), Simon Lightfoot (DevAngels London), and Ty Smith (Uber), and includes unique experiences such as a silent disco and an unsolved unconference.Droidcon NYC on June 25–26 in Brooklyn, NYC: Droidcon NYC 2025 is set to offer two days of Android-focused sessions, workshops, and networking opportunities. Attendees can look forward to expert-led talks, including sessions on Kotlin Multiplatform, Jetpack Compose, and AI-driven development, as well as unique events like the unsolved unconference and a silent disco. Notable speakers include Jake Wharton (Cash App), Sumayyah Ahmed (Square), and Huyen Tue Dao (Netflix).AI features can break microservices testing by introducing unpredictable behaviors. Learn how to fix it with smart strategies in this insightful piece from The New Stack.In case you have any tips to share with your fellow mobile developers, do reply to this mail and we’d be glad to feature you in a future edition of MobilePro.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share?MobileProbrings them to you all in one place.Brief thoughts and observations on WWDC 2025: Take a sneak peek at John Gruber’s candid take on this year’s WWDC. Did Apple learn from its past missteps? Learn about it in John’s blog.AI trends shaping software development in 2025: Did you know that 78% of global participants in the GitLab DevSecOps survey use AI in their software development processes? Enterprises are increasingly recognizing the potential of AI-assisted development. To understand where the industry is heading, explore this insightful article by Emilio Salvador.Why Navigation 3 is a Game-Changer!: Android’s new Navigation 3 library offers developers full control over the navigation backstack, aligning seamlessly with Jetpack Compose's state-driven architecture. Is this the Compose-native solution developers have been waiting for? Learn more in the full blog post.Vibe coding: Future of development or risky shortcut?: The thrilling—and at times unnerving—buzz around AI coding has sparked countless online debates. Is it the future of software development or just a passing trend? Ryan Daws breaks it all down in his latest blog.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.Build your future-ready stack at $9.99Shop now at $9.99!A new Android malware called AntiDot has compromised over 3,775 devices across 273 campaigns. This sophisticated threat exploits accessibility services and overlays to steal sensitive data, posing significant risks to mobile users.Sourced from The Hacker News.👋 And that’s a wrap. We hope you enjoyed this edition of MobilePro. If you have any suggestions and feedback, or would just like to say hi to us, please write to us. Just respond to this email!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0
Runcil Rebello
02 Jul 2025
7 min read
Save for later

MobilePro #178: Swift lands on Android, Siri eyes Claude, Xcode gets smarter, Apple loosens EU App Store rules, and more...

Runcil Rebello
02 Jul 2025
7 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #178: Swift lands on Android, Siri eyes Claude, Xcode gets smarter, Apple loosens EU App Store rules, and more...Get hands-on with MCP!Join us on July 19 for a 150-minute interactive MCP Workshop. Go beyond theory and learn how to build and ship real-world MCP solutions. Limited spots available! Reserve your seat today.Book now!Hi ,Welcome to the 178th edition of MobilePro! This week’s edition highlights Swift welcoming Android support, buzz about Siri getting an overhaul with help from external models, and Anthropic launching Claude-powered Artifacts:📱 Swift on Android: Swift officially adds Android support via a new working group🗣️ Siri’s AI reboot: Apple explores OpenAI and Anthropic models to overhaul Siri, with Claude reportedly outperforming Apple’s in-house LLMs in internal testing.🗺️ Maps SDK update: Google Maps Navigation SDK v6.3.0 adds destination building highlighting using placeID for clearer navigation guidance.🧱 Claude Artifacts: Anthropic launches Claude-powered Artifacts, letting users instantly create and share AI apps by describing their functionality in natural language.🛠️ Xcode 26 Beta 2: Xcode 26 Beta 2 boosts AI-assisted coding, advanced debugging tools, and UI improvements to streamline Apple platform development.🔓 EU App Store shift: Apple overhauls EU App Store rules under DMA, allowing external payments and introducing a tiered fee system after a €500M antitrust fine.Stick around for this week’s Developer Tip to learn why developer joy—fueled by curiosity, fewer frustrations, and real breaks—is key to long-term productivity and team success.Let’s dive in!P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!📱 What's Happening in Mobile Development?If there’s any major news in the world of mobile app dev in the last week, MobilePro has you covered.AndroidSwift officially adds Android support with new working group: Apple's Swift programming language is now being officially extended to support Android app development through the establishment of a dedicated Android Working Group within the Swift open-source project. This initiative aims to enable developers to use Swift to build applications for Google's mobile operating system using official tooling and infrastructure.Google Maps Navigation SDK for Android adds destination highlighting: The June 25, 2025 release (v6.3.0) of Google's Navigation SDK for Android introduces visual highlighting for destination buildings specified with a placeID. This feature aids users in distinguishing and navigating to their intended destinations by visually emphasizing the target building.Android 16 QPR1 Beta 2.1 resolves key system bugs: Released on June 25, 2025, Android 16 QPR1 Beta 2.1 addresses several critical issues, including an invisible "Approve" button in Device Admin settings, lockscreen sound toggle discrepancies, intermittent back button failures, and launcher crashes when swiping up. These fixes enhance overall system stability and user experience on supported Pixel devices.Android Studio Narwhal Feature Drop 2025.1.2 introduces AI agent mode and enhanced testing tools: The latest Android Studio Narwhal Feature Drop (2025.1.2) introduces Gemini Agent mode, enabling developers to automate multi-step tasks like fixing build errors and generating UI components across multiple files. These enhancements aim to streamline development workflows and improve app quality.Artificial Intelligence (AI)Apple looking at OpenAI and Anthropic models to power Siri overhaul: Apple is evaluating third-party large language models, including OpenAI's ChatGPT and Anthropic's Claude, to enhance its AI-powered Siri assistant. Internal tests suggest Claude currently outperforms Apple's in-house models, prompting the company to consider external partnerships. This initiative follows leadership changes and delays in Siri's redevelopment, with Apple exploring options to integrate advanced AI capabilities into its ecosystem.Anthropic launches Claude-powered Artifacts for Instant AI app creation: Anthropic has introduced Claude-powered Artifacts, enabling users to build, host, and share interactive AI applications directly within the Claude app. By simply describing their desired functionality, users can have Claude generate the necessary code, facilitating the creation of games, educational apps, and writing assistants. These AI-powered artifacts are accessible to all users in beta on Free, Pro, and Max plans.OthersXcode 26 Beta 2 enhances AI coding and debugging tools: Xcode 26 Beta 2 introduces advanced AI-assisted coding features, including natural language code generation and inline documentation tools, powered by on-device large language models. Developers benefit from improved debugging instruments like Processor Trace and CPU Counter, as well as enhanced SwiftUI performance visualization tools. The update also includes a redesigned tab interface and expanded localization support, streamlining the development process across Apple platforms.Firebase June 26 update enhances AI SDKs and Unity performance: On June 26, 2025, Firebase released updates across multiple SDKs. The Android BoM was updated to version 33.16.0, featuring enhancements to Firebase AI and Analytics libraries. Additionally, the Firebase Unity SDK version 12.10.1 introduced iOS-specific improvements to AppDelegate swizzling logic, addressing startup delays and crashes.Developer happiness isn't a distraction—it's the secret to sustained productivity. In this InfoQ article, Trisha Gee and Holly Cummins argue that fostering joy through curiosity, reducing friction like flaky tests, and taking meaningful breaks leads to better code and more engaged teams. Could this be the mindset shift developers need to thrive?In case you have any tips to share with your fellow mobile developers, do reply to this mail and we’d be glad to feature you in a future edition of MobilePro.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share?MobileProbrings them to you all in one place.Simpler XAML in .NET MAUI 10: .NET MAUI 10 introduces global and implicit XML namespaces in XAML, allowing developers to streamline their code by centralizing namespace declarations and eliminating repetitive prefixes. This enhancement simplifies UI development, making XAML files cleaner and more maintainable. To explore these improvements in detail, check out the insightful article by David Ortinau.Using Gemma for Flutter apps: Gemma 3N brings multimodal AI—including text, image, and audio processing—directly to Flutter apps via the flutter_gemma package, enabling offline functionality, enhanced privacy, and zero server costs. Could this be the on-device AI breakthrough Flutter developers have been waiting for? Explore the full guide by Csongor Vogel to get started.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.Available now in Early Access, Simon Jun's Design Beyond Limits with Figma, is ideal for experienced UI/UX designers, developers, and product managers who want to improve team collaboration and elevate their Figma workflows.Design Beyond Limits with FigmaShop the Early Access copy now at $31.99 27.99!Apple has overhauled its EU App Store policies to comply with the Digital Markets Act, allowing developers to guide users to external payment options and introducing a two-tier fee system. This move follows a €500 million fine for restricting app makers from directing users to cheaper alternatives outside the App Store. Could this be the beginning of a more open app ecosystem in Europe?Sourced from Apple.👋 And that’s a wrap. We hope you enjoyed this edition of MobilePro. If you have any suggestions and feedback, or would just like to say hi to us, please write to us. Just respond to this email!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0

Runcil Rebello
09 Jul 2025
7 min read
Save for later

MobilePro #179: What’s new in iOS 26 beta 3, Replit collabs with Microsoft, iOS 26 surprise features, Tim Cook to lead Design team, and more...

Runcil Rebello
09 Jul 2025
7 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #179: What’s new in iOS 26 beta 3, Replit collabs with Microsoft, iOS 26 surprise features, Tim Cook to lead Design team, and more...Get hands-on with MCP!Join us on July 19 for a 150-minute interactive MCP Workshop. Go beyond theory and learn how to build and ship real-world MCP solutions. Limited spots available! Reserve your seat today.Save Your Spot!Hi ,Welcome to the 179th edition of MobilePro! This week’s edition covers Apple and Android’s latest OS updates, fresh AI tooling and vulnerabilities, legal battles in Big Tech, and insights from the developer community.:📱 iOS 26 Surprise Features Incoming: Apple plans to roll out real-time AirPods translation and Wi-Fi login syncing in iOS 26.1 or 26.2.🤝 Replit x Microsoft: AI Coding for Enterprises: Replit joins forces with Microsoft to bring its “vibe coding” AI to Azure enterprise users.🧑‍🎨 Tim Cook to Lead Design at Apple: Apple’s design team will now report directly to CEO Tim Cook as the “Liquid Glass” design era begins.📱 iOS & iPadOS 26 Beta 3: Liquid Glass UI, better multitasking, and Apple Intelligence upgrades redefine the Apple user experience.🛡️ MCP protocol vulnerability: Security flaws in Anthropic’s Model Context Protocol raise concerns over AI tool integration safety.📊 Your Apdex score ≠ user satisfaction: Embrace’s Christine Hermawan explains why top-line metrics don’t tell the full mobile UX story.Stick around for this week’sDeveloper Tipto learn from NVIDIA experts on how to stand out in the AI job market, and the Did You Know? section to learn about a software engineer who sparked controversy by secretly holding multiple jobs at several tech startups simultaneously.Let’s dive in!P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!If you liked this issue and want to share your thoughts, fill in our survey below.Take the SurveyAgentic AI You Don’t Have to BabysitIf you’ve been burned by clunky GenAI tools that need constant handholding, this will feel different.Shield’s AmplifAI is using agentic AI to go beyond simple prompts. Think: intelligent agents that can reason, plan, and actually do things, like reviewing communication threads or spotting compliance risks, without you manually clicking through 30 tabs.Whether you’re building fintech, regtech, or just tired of reactive workflows, AmplifAI gives you a head start. It’s already making life easier for app devs.👉 See how AmplifAI is redefining what AI can actually do.Learn More📱 What's Happening in Mobile Development?If there’s any major news in the world of mobile app dev in the last week, MobilePro has you covered.AppleApple still has some unannounced iOS 26 features in the pipeline: Apple is reportedly preparing to introduce two additional features in iOS 26: real-time translation via AirPods and automatic syncing of captive Wi-Fi logins across Apple devices. These features, initially expected at WWDC 2025, are now anticipated to launch later this year in iOS 26.1 or 26.2, as Apple aims to announce features closer to their readiness for release.iOS & iPadOS 26 Beta 3 is out: iOS and iPadOS 26 introduce a major redesign with the Liquid Glass interface, offering dynamic, glass-like visuals. Key enhancements include improved multitasking with a flexible windowing system, expanded Apple Intelligence features, and the addition of apps like Preview and Journal on iPad. These updates aim to provide a more seamless and intelligent user experience across Apple devices.Apple’s design team will report to Tim Cook: Apple CEO Tim Cook will directly oversee the company's design team following COO Jeff Williams' retirement later this year. This leadership change coincides with Apple's introduction of its new "Liquid Glass" design language, marking the company's most extensive software design overhaul to date.AndroidAndroid Studio Narwhal Feature Drop | 2025.1.2 Canary 8 now available: The Android Studio Narwhal Feature Drop (2025.1.2) introduces enhancements like improved device mirroring, updated IntelliJ support, and better Compose UI tooling. These updates aim to streamline Android development and boost productivity.Prepare your apps for Google Play’s 16 KB page size compatibility requirement: Starting November 1, 2025, Google Play will require all new apps and updates targeting Android 15 or higher to support 16 KB memory page sizes, up from the current 4 KB. This change aims to enhance app performance, battery life, and system responsiveness on newer devices.Samsung will open Now Bar to developers in One UI 8: Samsung is opening its Now Bar feature to third-party developers in One UI 8, allowing Android apps to deliver real-time, persistent updates directly to the lock screen and status bar. This integration with Android 16's Live Updates framework enhances user engagement by providing live notifications for various applications beyond Samsung's own.Artificial Intelligence (AI)Replit Collaborates with Microsoft to bring Vibe Coding to Enterprise Customers: Replit has partnered with Microsoft to bring its AI-driven "vibe coding" platform to enterprise users via Azure, enabling teams to build and deploy applications using natural language without coding expertise. This collaboration integrates Replit with Microsoft services like Azure Container Apps and Neon Serverless Postgres, and makes it available through the Azure Marketplace, streamlining access and deployment for business users.Gemini models are now available in Batch Mode: Google has introduced Batch Mode in the Gemini API, an asynchronous endpoint designed for high-throughput, non-latency-critical AI workloads. This feature allows developers to submit large jobs and retrieve results within 24 hours, offering a 50% cost reduction compared to synchronous APIs.MCP vulnerability exposes the AI untrusted code crisis: Recent research has uncovered critical security vulnerabilities in the Model Context Protocol (MCP), an open standard developed by Anthropic to facilitate interactions between AI systems and external tools. These vulnerabilities, such as tool poisoning attacks, can be exploited by malicious actors to compromise AI systems. The findings highlight the urgent need for robust security measures in AI integrations.The World Economic Forum forecasts a 40% increase in global demand forAI and machine learning specialistsover the next few years. With the advancement of AI, it is an exciting time to enter the industry. Click here to learn some insights from NVIDIA experts on how students and recent graduates can stand out in the AI job market.In case you have any tips to share with your fellow mobile developers, do reply to this mail and we’d be glad to feature you in a future edition of MobilePro.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share?MobileProbrings them to you all in one place.Your Apdex score is great, so why are users complaining?: Think your high Apdex score means happy users? Think again—discover why broad metrics can mislead and how to truly measure mobile user experience in this article by Christine Hermawan.React Native 0.80: A Turning Point for Cross-Platform Development?: React Native 0.80 brings major under-the-hood improvements—faster builds, leaner APKs, and a shift toward a future-ready architecture. Explore what makes this release a game-changer.How I won the Swift Student Challenge: Curious how someone won Apple’s Swift Student Challenge? Get an insider look at the journey, tips, and takeaways in this firsthand Reddit thread.An Indian software engineer, Soham Parekh, sparked controversy by secretly holding multiple jobs at several tech startups simultaneously. He admitted his actions were driven by financial hardship, working up to 140 hours a week, and has since pledged to work transparently at a single company.Sourced from CNBC.👋 And that’s a wrap. We hope you enjoyed this edition of MobilePro. If you have any suggestions and feedback, or would just like to say hi to us, please write to us. Just respond to this email!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0

Runcil Rebello
16 Jul 2025
7 min read
Save for later

MobilePro #180: Android & ChromeOS to merge, What's new in Flutter and more...

Runcil Rebello
16 Jul 2025
7 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #180: Android & ChromeOS to merge, What's new in Flutter and more...Hi ,Welcome to the 180th edition of MobilePro! This week’s edition covers Apple and Android’s latest OS changes, powerful AI tool releases, groundbreaking platform mergers, and sharp insights from the dev community.:🔁 Android & ChromeOS to Merge: Google confirms it’s combining Android and ChromeOS into one unified platform, rolling out from late 2025.🛠️ Flutter 3.3.6 Hotfix Released: A critical update restores proper WebView sizing in apps affected by the 3.3.0 layout bug.📱 iOS 18.6 Beta 3 Released: Apple rolls out iOS 18.6 beta 3 and more with performance boosts, bug fixes, and EU compliance ahead of iOS 26.🐢 AI Tools May Slow You Down: New research suggests AI coding tools can actually hinder experienced developers—here’s why.🧠 Use Gemini in Xcode 26 Beta: Carlo Zottmann shows how to run Google Gemini in Xcode 26 beta via a clever proxy setup on macOS.Stick around for this week’sDeveloper Tipto learn the advantages of hybrid development, andtheDid You Know?section to learn about Google skipping a monthly Android security patch.Let’s dive in!P.S.: If you have any suggestions or feedback, or would like us to feature your project on a particular subject, please write to us. Just respond to this email!Help us improve by sharing your thoughts. Click on the survey below.Take the Survey!An Exclusive Look Into Next Gen BI – Live WebinarDashboards alone aren’t cutting it. The market’s moving toward something new: data apps, live collaboration, and AI that works the way teams actually work.See what's driving the rise of Next Gen BI, how Sigma earned a top debut on the Gartner Magic Quadrant, and what’s next for our roadmap.Secure your spot📱 What's Happening in Mobile Development?If there’s any major news in the world of mobile app dev in the last week, MobilePro has you covered.iOS 18.6 beta 3 is out: Apple has released iOS 18.6 beta 3 (alongside iPadOS 18.6, macOS Sequoia 15.6, watchOS 11.6, tvOS 18.6, and visionOS 2.6) today, focusing on performance refinements, bug fixes, and EU regulatory support ahead of the larger iOS 26 rollout this fall.Flutter 3.3.6 is out: The Flutter 3.3.6 release is a hotfix that resolves a layout sizing issue introduced in version 3.3.0. This issue affected the use of WebView through platform_views, causing incorrect sizing during layout. The update specifically addresses and restores the proper sizing behavior when embedding WebView in Flutter applications.Jetpack Compose accessibility guidance expanded: Compose's accessibility guidance now emphasizes robust built‑in support—like default semantic properties, correct touch targets, and automatic focus management—while also teaching developers how to refine or customize accessibility through semantics modifiers (e.g., merging, hiding, testing APIs) to make inclusive and screen‑reader friendly UIs.Google confirms ChromeOS and Android are being merged into ‘a single platform’: Google has officially confirmed it’s merging ChromeOS and Android into a single unified platform, with Android at its core—aiming to streamline experiences across phones, tablets, laptops, and XR devices, boost AI integration, and simplify development. This shift is expected to roll out starting late 2025, with initial devices arriving in 2026—and promises more cohesive compatibility and features, albeit raising questions about hardware requirements and legacy Chromebook support.Google announces new Android Canary channel to replace Developer Previews: Google has introduced a new Android Canary release channel on July 10, 2025, replacing the old Developer Preview program to offer developers continuous, early access to experimental Android builds (via OTA or emulator)—though it's unstable and meant solely for testing.GitHub Copilot coding agent now uses one premium request per session: GitHub announced on July 10, 2025 that the Copilot coding agent now uses a flat one premium request per session, regardless of how many files it modifies or tasks it performs—making billing far more predictable and efficient. This change helps developers delegate up to 20× more work within their monthly allowance, with only GitHub Actions run time varying by task complexity.Gemini CLI brings Gemini directly into developer’s terminals: Google has released Gemini CLI, an open-source command‑line AI agent (in preview) that brings the power of Gemini2.5Pro right into developers’ terminals—supporting coding, debugging, content creation, task automation, and even image/video generation—all for free with a generous quota of 60 model calls/min and 1,000/day. It also integrates with Gemini Code Assist, Google Search, MCP tools, and multimodal systems like Imagen/Veo, enabling fluent, natural‑language workflows across terminal and IDE environments.Arm Scalable Matrix Extension 2 Coming to Android to Accelerate On-Device AI: Arm has announced that its Scalable Matrix Extension 2 (SME2) is coming soon to Android smartphones, enabling up to 6 × faster AI inference (e.g., running Google's Gemma 3 in under a second per core) via integration with libraries like XNNPack and KleidiAI—developers won’t need code changes. This hardware upgrade promises more responsive, efficient on-device AI across future Android devices, potentially unlocking advanced features like real-time translation, summarization, and voice assistants.Thinking about building mobile apps in 2025? Discover the top 7 unbeatable advantages of hybrid development—from faster time-to-market to cost savings and seamless cross-platform reach. Learn why hybrid might be your smartest bet here.In case you have any tips to share with your fellow mobile developers, do reply to this mail and we’d be glad to feature you in a future edition of MobilePro.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share?MobileProbrings them to you all in one place.How to use Google Gemini in Xcode 26 beta: Want to learn how to use Google Gemini with Xcode 26 beta on macOS 26 beta? Carlo Zottmann walks you through a clever proxy setup to make Gemini work seamlessly with Xcode’s AI features.Name-based destructuring in Kotlin: Kotlin is evolving! The language team is introducing name-based destructuring, letting you unpack objects using property names instead of just positions. It’s a big step toward clearer, safer destructuring—especially for data/value classes. Check out the full proposal and share your thoughts.Android Adaptive Design (Part 1): Make any Compose Screen Responsive in 4 Steps: Check out this practical guide to responsive design in Jetpack Compose—four clear steps to make any screen layout adapt gracefully across devices, from phones to tablets and beyond.AI programming tools slow software developers down: Think AI tools make coding faster? Think again—new research shows they might actually slow down experienced developers despite the hype. Find out why in this surprising study and what it means for your workflow.Using FFI in a Flutter plugin: Get a taste of Flutter magic direct from the Flutter team’s post—discover what the feature is and why it’s a must-read.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.A perfect book for digital designers, developers, UX professionals, product managers, and business leaders committed to inclusive design.🧠 Understand inclusive design principles to create digital experiences accessible to all users🤖 Explore cutting-edge AI and emerging tech applications in accessibility and inclusive design🏛️ Learn practical strategies for building an inclusive design culture within organizationsInclusive Design for AccessibilityBuy now at $34.99!July 2025 marks the first time in over a decade that Google skipped a monthly Android security patch, breaking a long-standing tradition since 2015. While no official reason was given, experts speculate it may be due to a shift in patch cadence or internal transitions.Sourced from Securityweek Network.👋 And that’s a wrap. We hope you enjoyed this edition of MobilePro. If you have any suggestions and feedback, or would just like to say hi to us, please write to us. Just respond to this email!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0
Runcil Rebello
23 Jul 2025
8 min read
Save for later

MobilePro #181: Launch Your App on a Real iOS Device Like a Pro

Runcil Rebello
23 Jul 2025
8 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #181: Launch Your App on a Real iOS Device Like a ProHi ,Welcome to the 181st edition of MobilePro! This week we bring you something different.This edition walks through a pragmatic setup for iOS development, the kind that makes device testing feel less like a hurdle and more like a launchpad. It’s drawn from hands-on workflows and reframed here for the everyday developer looking to get builds onto real devices—quickly, reliably, and without surprises.If you’ve ever hit a wall trying to run your app outside the simulator, this feature that borrows from Ahmad Sahar's iOS 18 for Programming for Beginners is for you.You will learn the following from this article:How to connect your iOS device to Mac?How to enable developer mode?How to set up Xcode for device deployment?How to add a developer account to Xcode?How to trust the developer app certificate?Take the Survey!Know The AuthorAhmad Sahar is a trainer, presenter, and consultant at Tomafuwi Productions, specializing in conducting training courses for macOS and iOS, macOS Support Essentials certification courses, and iOS Development courses. He is a member of the DevCon iOS and MyCocoaHeads online communities in Malaysia and has conducted presentations and talks for both groups. In his spare time, he likes building and programming LEGO Mindstorms robots.📱 How to run your app on an iOS deviceDeveloping apps with Xcode and the iOS Simulator is a great way to get started, but if you want to truly understand how your app behaves in the real world, there’s no substitute for testing it on an actual device. Physical devices offer access to real sensors, hardware features, and network environments that simply can’t be replicated in the Simulator. Whether you’re building your first app or refining a production-ready project, deploying to a real iPhone or iPad helps you catch bugs, optimize performance, and deliver a better experience to your users. In this article, we’ll walk you through the entire process—from connecting your device and setting up Developer Mode to configuring and signing certificates.While Apple's Simulator allows you to run and test your app during development, there's no substitute for using a real device. Some hardware components and software APIs simply can’t be simulated, which is why testing on a physical iOS device is crucial for a complete development experience.NoteTo explore the nuances between running your app on a simulator versus a real device, Apple provides a detailed comparison here.Step 1: Connecting your iOS deviceBefore running your app on a physical iOS device, make sure you have:Your iOS deviceAn Apple ID (a free or paid developer account)A Mac with Xcode installedTo connect your iOS device, follow these steps:Use the cable that came with your iOS device to connect your device to your Mac, and make sure the iOS device is unlocked.Your Mac will display an Allow Accessory to Connect alert. Click Allow.Your iOS device will display a Trust This Computer alert. Tap Trust and key in your device passcode when prompted. Your iOS device is now connected to your Mac and will appear in Xcode's Destination menu.Step 2: Enabling the developer mode (iOS 16+)Developer Mode was introduced by Apple during their Worldwide Developers Conference in 2022 (WWDC 2022) and is required to install, run, and debugyour apps on devices running iOS 16 or greater.To watch a WWDC 2022 video on Developer Mode, click here.Follow these steps to enable Developer mode:Choose Window | Devices and Simulators in the Xcode menu bar. You will see a window displaying a message saying Developer Mode disabled.To enable Developer Mode on your iOS device, go to Settings | Privacy & Security, scroll down to the Developer Mode item, and tap it.Turn the Developer Mode switch on.An alert will appear to warn you that Developer Mode reduces the security of your iOS device. Tap the alert's Restart button.After your iOS device restarts and you unlock it, confirm that you want to enable Developer Mode by tapping Enable and entering your iOS device's passcode.The Devices and Simulators window will display a Preparing iPhone message. Wait a few minutes, then verify that the Devices and Simulators window no longer displays the Developer Mode disabled text.Your iOS device is now ready to install and run apps from Xcode.Step 3: Setting up Xcode for device deploymentTo set up Xcode, follow these steps:In Xcode, choose your iOS device from the Destination menu.Run the project by clicking the Run button (or use Command + R). You will get the following error in Xcode's Signing & Capabilities pane, Signing for "JRNL" requires a development team.This is because a digital certificate is required to run the app on an iOS device, and you need to add a free or paid Apple developer account to Xcode so the digital certificate can be generated.NoteUsing an Apple ID to create a free developer account will allow you to test your app on an iOS device, but it will only be valid for 7 days. Also, you will need a paid Apple developer account to distribute apps on the App Store.Certificates ensure that the only apps that run on your device are the ones you authorize. This helps to protect against malware. You can also learn more about them here.Step 4: Adding a developer account to XcodeHere are the steps to add Developer account to Xcode:Click the Add Account... button.The Xcode Settings window appears with the Accounts pane selected. Enter your Apple ID and click Next.Note that you can create a different Apple ID if you wish using the Create Apple ID button.TipYou can also access the Xcode settings by choosing Settings in the Xcode menu.Enter your password when prompted. After a few minutes, the Accounts pane will display your account settings.Close the Settings window when you're done by clicking the red close button in the top-left corner.In Xcode's Editor area, click Signing & Capabilities. Make sure Automatically manage signing is ticked and Personal Team is selected from the Team pop-up menu.If you still see errors on this screen, try changing your Bundle Identifier by typing some random characters into it, for example, myname6712.JRNL.Build and run your app. If you are prompted for a password, enter your Mac’s login password and click Always Allow.Your app will be installed on your iOS device. However, it will not launch, and you will see the following message:This means you need to trust the certificate that has been installed on your device. You'll learn how to do this in the next section.Step 5: Trusting the developer app certificate on your iOS deviceA Developer App certificate is a special file that gets installed on your iOS device along with your app. Before your app can run, you need to trust it. Follow these steps:On your iOS device, tap Settings | General | VPN & Device Management.Tap your Apple ID:Tap Trust:Tap Allow:Youshould see the followingtext, which shows the app is now trusted:Click the Run button in Xcode to build and run again. You'll see your app launch and run on your iOS device.Success!Your app is now running on an actual iOS device! This milestone brings you one step closer to shipping your app to real users.If you want to read more and turn your app idea into reality, then Ahmad Sahar's iOS 18 Programming for Beginners is for you!🏗️ Experience iOS 18 and Swift 6 through hands-on projects🛠️ Build your first iOS apps, complete with user-friendly interfaces using UIKit💡 Learn best practices from an experienced developer for robust app designiOS 18 Programming for BeginnersBuy now at $44.99!👋 And that’s a wrap. We hope you enjoyed this new format of MobilePro.P.S.: If you have any suggestions or feedback, help us improve by sharing your thoughts. Click on the survey below.Take the Survey!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0

Runcil Rebello
30 Jul 2025
9 min read
Save for later

MobilePro #182: Stack Overflow Survey 2025, Flutter on iOS, Apple’s iOS 26 beta, GitHub introduces Spark, and more…

Runcil Rebello
30 Jul 2025
9 min read
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #182: Stack Overflow Survey 2025, Flutter on iOS, Apple’s iOS 26 beta, GitHub introduces Spark, and more…Hi ,Welcome to the 182nd edition of MobilePro! This week’s edition dives into Stack Overflow Developer Survey 2025, Apple and Google’s OS upgrades, major developer tool releases, and insightful community learnings shaping the tech landscape:📊 Stack Overflow 2025: The 2025 Stack Overflow Developer Survey is out! There's a lot of useful data in there but a trend to keep note of is that even though developers' AI use skyrockets, accuracy concerns rise sharply. Developers are increasingly distrustful of the accuracy of AI tools.🦾 Flutter on iOS: Flutter now offers robust iOS support with native UI integration, App Clip targets, and seamless multi-platform development, all from a single codebase.📱 Apple’s iOS 26 Beta: Apple rolls out iOS 26 with a Liquid Glass design, smarter Apple Intelligence, and the return of AI‑powered Notification Summaries.🧠 Apple Foundation Models: Apple reveals its Foundation Models for iOS 26: local and cloud‑based AI powering Apple Intelligence with strong privacy controls.⚡ GitHub Spark: GitHub introduces Spark, an AI‑powered tool that builds and runs “micro apps” from natural language prompts.🔥 Firebase Updates: Firebase releases major SDK updates, renames libraries, and boosts tooling across Android, iOS, and Flutter.🏗️ Mastering Swift 6.2 Concurrency: A complete tutorial on Swift 6.2’s async/await and structured concurrency for modern app development.Stick around for this week’sDeveloper Tipto configure custom notification sounds in Flutter, andtheDid You Know?section to learn about the upcoming launch of GPT‑5.Let’s dive in!Help us improve by sharing your thoughts. Take the following survey.It won't take more than a minute!Take the Survey!Speed Up Mobile DevWebinar Alert! Mobile experts from Bitrise and Embrace break down advanced CI/CD tips and real-user insights to help you speed up builds and deliver top-quality apps.Register Here📱 What's Happening in Mobile Development?If there’s any major news in the world of mobile app dev in the last week, MobilePro has you covered.AppleApple’s iOS 26 beta brings major redesign and revives a controversial AI feature: Apple’s iOS 26 public beta introduces the sleek new Liquid Glass visual design alongside major app upgrades like smarter Apple Intelligence, revamped Camera, Messages, Maps, Wallet, CarPlay, and a new Games app. Notably, Apple has reinstated its controversial AI‑powered Notification Summaries for news apps in beta 4 with clearer opt‑in controls and warning labels after the feature was previously pulled in early 2025 due to misinformation issues.Flutter brings first‑class iOS support for cross‑platform app development: Flutter’s iOS support empowers developers to build high-quality, performant apps for both iOS and Android from a single codebase, with support for native UI integration and modern graphics. It streamlines workflows with tools like platform channels, App Clip targets, and robust IDE setup while keeping pace with the latest iOS releases—though it notes some beta iOS 26 debug mode limitations for physical devices.Apple Shares Details on Upcoming AI Foundation Models for iOS 26: Apple’s Foundation Models in iOS 26 consist of a 3-billion-parameter model that runs locally on Apple Silicon devices, alongside a larger model deployed via Apple’s Private Cloud Compute—both trained using licensed, synthetic, and responsibly crawled data with fine‑tuning and reinforcement learning. These models form the technical core of Apple Intelligence, enabling advanced on‑device AI features while maintaining strict privacy protections.Expo introduces precompiled React Native for iOS: Expo (in collaboration with Meta) is introducing precompiled React Native for iOS in React Native 0.81 / Expo SDK 54, which slashes clean build times by up to 10× for projects where React Native is the primary dependency. It uses prebuilt XCFrameworks for both React Native and its dependencies (including simulator and Catalyst builds), delivered via Swift Package Manager, with source builds still supported for debugging.AndroidGoogle's second Android Canary release is already out for Pixel devices: Google is rolling out Android Canary 2507 (build ZP11.250627.009) to compatible Pixel devices, offering experimental updates such as expanded forced dark mode, refined UI elements like rounded lock‑screen shortcuts and toggle contrast, and early support for graphical Linux applications via the Linux Terminal app. This Canary release represents Google’s second iteration in its new year‑round Canary channel—tailored for developers to test cutting‑edge APIs—though it's not recommended for everyday primary devices due to its experimental nature.What’s new in Android’s July 2025 Google System Updates [U: 7/28]: Google’s July2025 System Updates deliver incremental enhancements across Play Services, Play Store, Android System Intelligence, Private Compute Services, and Wallet on Android phones, tablets, Wear OS, Auto, TV, and PCs. Highlights include simplified system management settings, streamlined document scanning, easier Wallet transit card transfers and season‑pass purchases, AI/ML improvements for developers, improved key verification UI, app recommendations via Play Store, and new task-driven features and loyalty card scanning.Samsung DeX gets a redesign based on Android 16’s desktop mode [Gallery]: Samsung’s DeX in One UI 8 has been rebuilt on top of Android 16’s native desktop mode, offering a refreshed interface with a centered taskbar, vertical app drawer, and revamped Quick Settings panel for smoother, more consistent PC‑style usability. While the overall functionality feels familiar, several smaller Samsung-specific features—like Lock/Exit DeX buttons, pinning apps, and custom taskbar settings—are currently missing in this early rollout.OthersStack Overflow 2025 survey reveals booming AI use but deep developer mistrust: Stack Overflow’s 2025 Developer Survey, featuring over 49,000 respondents across 177 countries, finds that AI tool adoption has surged to 84%, yet trust in their output has plunged, with only 33% of developers believing AI-generated solutions are accurate; many report “almost right” AI code introduces productivity-draining technical debt. .NET MAUI 10 Preview 6: MediaPicker improvements, WebView interception, and control fixes: Microsoft’s .NET MAUI 10 Preview 6 enhances developer productivity with key updates to MediaPicker—supporting multiple file selection and in‑API image compression—and adds WebView request interception for custom header handling or redirects. It also boosts performance and stability with fixes across core controls like CollectionView, CarouselView, SearchBar, and resolves memory leaks in iOS handlers. Preview 6 supports Android API levels 35 & 36 and includes diagnostics and interop improvements across platforms.Firebase rolls out major updates: Firebase has rolled out major updates in July 2025, including Firebase JavaScript SDK v12.0.0 (requiring Node.js 20 and ES2020) and Firebase Android BoM v34.0.0, which brings breaking changes like removal of Kotlin extensions (KTX) and the renamed Firebase AI Logic library replacing firebase-vertexai. The Flutter SDK BoM v3.13.0 (July 1) adds bug fixes and new Cloud Functions features, while the Unity SDK v13.0.0 (July 24) upgrades to Android BoM v34.0.0 and iOS Cocoapods v12.0.0. Additional updates include CLI tool v14.6.0 and C++ SDK v12.8.0 with platform upgrades for improved tooling and backend support.GitHub introduces Spark AI, which creates apps with natural language: GitHub has introduced Spark, an experimental tool under GitHub Next that lets users create and run “micro apps” from simple natural language prompts. Users can choose between OpenAI’s GPT or Claude Sonnet models, with Spark not only generating the code but also running the app and offering a live, interactive preview for iterative refinements.Bring your Flutter app to life with custom notification sounds! This step‑by‑step video guide shows you how to use FCM and flutter_local_notifications to set up unique sounds, manage channels, and create a standout user experience.In case you have any tips to share with your fellow mobile developers, do reply to this mail and we’d be glad to feature you in a future edition of MobilePro.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share?MobileProbrings them to you all in one place.Flutter + Firebase video showcases cross-platform app dev power: A new Flutter video dives into how Flutter’s architecture, developer tools, and widgets integrate seamlessly with Firebase’s backend services to streamline cross-platform app development. It demonstrates how to quickly build high-quality apps for iOS and Android.Grounding with Google Search in the Firebase AI Logic client SDKs: Explore how Firebase AI Logic now uses Google Search grounding for Gemini models bringing real‑time, citation‑backed answers to your apps and reducing AI hallucinations.The dark corners of inline, crossinline, and reified in Kotlin: Discover Kotlin’s “dark corners” of inline, crossinline, and reified—what their true capabilities and pitfalls are when optimizing lambdas and type handling in modern high‑performance code.Mastering Swift 6.2 Concurrency: A Complete Tutorial: Unlock the full potential of Swift 6.2 concurrency with this comprehensive guide—covering async/await, structured concurrency, and best practices for building efficient, modern Swift apps.Fade in images with a placeholder: Get started with Flutter’s Fading In Images Cookbook to smoothly transition from placeholder to real images in your apps using FadeInImage, network or asset loading, and customizable effects.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.A perfect book for developers who have a fundamental grasp of the Swift language and who aspire to take their development skills to the next level by learning some of the advanced topics and techniques of the Swift Language.🧠Master the latest Swift 6.2 features to enhance your application development🤖Learn advanced techniques like concurrency, memory management, Generics, and Swift Testing💡 Apply best practices in Swift to write clean, scalable, and maintainable codeMastering Swift 6Pre-order now at $44.99!OpenAI is preparing to launch GPT‑5 in early August 2025, consolidating its GPT-series and o-series (o3 reasoning) models into a single unified system. The release is expected to include mini and nano variants, with timelines still subject to changes due to testing and infrastructure constraints.Sourced from Reuters.👋 And that’s a wrap. We hope you enjoyed this edition of MobilePro. If you have any suggestions and feedback, or would just like to say hi to us, please write to us. Just respond to this email!Cheers,Runcil Rebello,Editor-in-Chief, MobilePro*{box-sizing:border-box}body{margin:0;padding:0}a[x-apple-data-detectors]{color:inherit!important;text-decoration:inherit!important}#MessageViewBody a{color:inherit;text-decoration:none}p{line-height:inherit}.desktop_hide,.desktop_hide table{mso-hide:all;display:none;max-height:0;overflow:hidden}.image_block img+div{display:none}sub,sup{font-size:75%;line-height:0}#converted-body .list_block ol,#converted-body .list_block ul,.body [class~=x_list_block] ol,.body [class~=x_list_block] ul,u+.body .list_block ol,u+.body .list_block ul{padding-left:20px} @media (max-width: 100%;display:block}.mobile_hide{min-height:0;max-height:0;max-width: 100%;overflow:hidden;font-size:0}.desktop_hide,.desktop_hide table{display:table!important;max-height:none!important}}
Read more
  • 0
  • 0
Modal Close icon
Modal Close icon