Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

MobilePro

19 Articles
Runcil Rebello
22 Apr 2025
Save for later

MobilePro #168: Kotlin beta lands, Nylo v6, KotlinConf 2025, Postman introduces Spec Hub, and more…

Runcil Rebello
22 Apr 2025
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformMobilePro #168: Kotlin beta lands, Nylo v6, KotlinConf 2025, Postman introduces Spec Hub, and more…New developer products provide a glimpse into the future of app building on HubSpot, including deeper extensibility, flexible UI, modern development tools, and moreHubSpot’s AI-powered ecosystem presents a global opportunity projected to reach $10.2 billion by 2028. To capitalize on that growth potential, we are opening our platform more, starting with expanded APIs, customizable app UI, and tools that better support a unified data strategy.Learn moreHi ,Welcome to the 168th edition of MobilePro! This week’s issue is packed with updates that reflect just how quickly the mobile development landscape is evolving—from Kotlin’s smarter compiler updates to Apple’s critical security patches, and powerful new tooling for building AI-native apps:🛠️ Kotlin 2.2.0 Beta lands: With smarter warning controls and deeper Gradle integration, Kotlin continues refining its dev experience for teams looking to write cleaner, more maintainable code.🚀 Nylo v6 boosts Flutter devs: The latest version of Nylo delivers a Navigation Hub, local push, smarter state handling, and a new UI Scaffold—helping you ship robust apps, faster.💡 Angular + Flutter + Firebase go agentic: Learn how to build LLM-driven apps that feel smart and personal with live demos, support, and AI resources—running through May 6.🎤 KotlinConf 2025 is around the corner: Set for May 21–23 in Copenhagen, this year’s event promises 100+ talks and in-depth workshops on everything from Compose to Multiplatform.🔒 Postman rolls out Spec Hub and BYOK encryption: Build, validate, and govern APIs with real-time linting, and gain full control over your data with customer-managed encryption keys.And in What’s Happening in AI?—OpenAI’s o3 and o4-mini models bring faster, tool-aware reasoning to ChatGPT. As always, stick around for our Developer Tip to boost your workflow, and don’t miss the Did You Know? segment!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!Advertise with Us|Sign Up to the Newsletter[Rubrik Guided Lab] AWS Cloud Native ProtectionAccording to an IBM report, 82% of breaches involved data stored in the cloud. What's your data recovery plan?Join us on Wednesday, April 23rd @ 10:00 AM PST for Virtual Camp Rubrik: AWS Cloud Protection to -Protect AWS workloads, Amazon EC2, Amazon RDS, and Amazon EBSRecover and restore your AWS data and workloadsDiscuss the current state of the cloud threat landscapeSave 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.Kotlin 2.2.0-Beta 1 is here: This new version brings smarter compiler warning management, cleaner JVM default method generation, and improved Gradle diagnostics. Developers can now use the new -Xwarning-level flag to fine-tune warning visibility and error thresholds, helping teams enforce better coding standards with precision. The Kotlin Gradle Plugin also now supports Gradle’s Problems API and --warning-mode, offering more structured and flexible reporting during builds. And yes—updating is seamless via Android Studio or IntelliJ with built-in plugin support.Nylo v6 has officially landed: It brings a streamlined developer experience to Flutter apps with smarter state performance, an improved router, and the new Navigation Hub for seamless bottom and top navigation control. With additions like local push notifications, a brand-new Scaffold UI package, and authentication and form enhancements, Nylo v6 is tailored for secure, efficient app development.Stability and compatibility boosted in iOS & iPadOS 18.5 Beta 3 update: Apple's iOS and iPadOS 18.5 Beta 3 delivers key fixes across Vision Pro, StoreKit, and enterprise app support. The update resolves a launch issue in the Apple Vision Pro app and ensures StoreKit’s intro offer eligibility logic works correctly. Enterprise app stability has been restored after launch failures were reported in earlier versions. Siri's known music playback issue persists, while enhancements in Writing Tools preserve text attributes in complex formatting workflows.Android 16 Beta 4 is here: It brings final APIs and platform stability so developers can confidently finish app testing before the official release. With broader device availability and updates across JobScheduler, Intents, and accessibility APIs, developers can now fine-tune their apps for performance, security, and compatibility. Whether you're building SDKs or targeting large screens, you’ll find improvements designed for both innovation and reliability.KotlinConf 2025 is just around the corner: The 2025 conference is taking place in Copenhagen from May 21–23, and it’s packed with workshops and over 100 speakers across five dedicated tracks. Developers can sharpen their skills in areas like Kotlin Multiplatform, Compose, Ktor, and Spring Boot—all hosted by JetBrains and top Kotlin experts.Postman has unveiled Spec Hub and BYOK Encryption: These introductions will empower developers to build and scale secure APIs with confidence. Spec Hub offers a unified platform for designing, validating, and publishing multi-format APIs, complete with visual editing and real-time linting. Meanwhile, BYOK (Bring Your Own Key) gives enterprises full control over data security by letting them manage their own encryption keys within a zero-trust framework. You can rest assured—Postman is redefining secure, compliant, and efficient API development at scale.Angular, Flutter & Firebase Team Up to Help Developers Build AI-Driven App Experiences: The Angular and Flutter teams have teamed up with Firebase to launch new resources that help developers build AI-powered, agentic apps—apps that combine LLMs with goals and tools to create dynamic, personalized experiences. From April 15 to May 6, you can join livestreams, access hands-on demos like a barista app and travel planner, and get real-time support from engineers. With curated content, community engagement, and responsive guidance, developers can now explore AI app development confidently—without compromising on creativity or control.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share? MobilePro brings them to you all in one place.Tutorial for full-screen notifications from your Flutter app: Have you ever struggled to display full-screen notifications from your Flutter app—especially on the lock screen or when the app is killed? This tutorial walks you through a practical solution by bridging Flutter with native Android using method channels. By leveraging AlarmManager for scheduling and handling actions like snooze or accept directly from full-screen notifications, it ensures a reliable flow with data stored in Hive. If you're building a reminder or tracking app, this guide might be exactly what you need to overcome those limitations.How Shopify Scaled Mobile Development with React Native and TypeScript: Shopify is marking five years with React Native, and their journey highlights how thoughtful patterns, native integration, and TypeScript have powered high-performance, scalable mobile development. From sub-500ms screen loads to rapid iteration with hot reloading, their team has proven React Native can meet demanding product needs. Native code still plays a key role for complex tasks, ensuring flexibility without compromising performance. You can now build confidently—knowing that cross-platform speed and quality can go hand-in-hand.The skills developers need in an era of AI development: As AI transforms software development, developers are encouraged to evolve their skill sets—focusing not just on how AI works, but on how to work effectively with it. Key capabilities now include data literacy, critical thinking, and the ability to design user-centric, AI-augmented experiences. Soft skills like adaptability and ethical reasoning are equally vital. You can embrace this shift confidently, knowing the future of development is a collaborative blend of human insight and intelligent tooling.🤖 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 has introduced o3 and o4-mini: Its most intelligent reasoning models yet, they are built to handle complex queries with advanced multimodal capabilities and full tool access within ChatGPT. From visual analysis to data-driven responses, these models can decide when and how to use tools like Python and web search—delivering fast, thoughtful answers under a minute. With agentic reasoning, improved instruction following, and support for custom tools, you can now develop smarter apps and automate workflows confidently and securely.JetBrains debuts free AI tier and Junie coding agent in IDEs: JetBrains has launched a free AI tier and introduced Junie, a new AI coding agent integrated directly into its IDEs. Junie assists with writing, debugging, and understanding code contextually—streamlining development workflows with privacy and efficiency in mind. JetBrains ensures that AI adoption doesn’t compromise data security, offering enterprise-grade privacy controls across the platform.Apple wanted people to vibe code Vision Pro apps with Siri: Apple once envisioned letting anyone “vibe code” Vision Pro apps using Siri—no programming required. This concept, powered by natural language and AI, would allow users to describe an idea and have Siri build it, creating immersive AR apps on demand. While the feature never launched, the ambition reveals how Apple foresaw the potential of conversational AI in creative workflows. You can expect more developer-friendly AI innovations like this as platforms mature and privacy-conscious tooling evolves.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.Flutter Design Patterns and Best PracticesBuy now at $44.99 $35.99!Use the code FLUTTERPRINT20 at checkoutMobile App Development Tutorial — Excerpt from iOS 18 Programming for Beginners by Ahmad SaharSimulatoris downloaded and installed after you install Xcode. It provides a simulated iOS device so that you can see what your app looks like and how it behaves, without needing a physical iOS device. It can model all the screen sizes and resolutions for both iPad and iPhone so you can test your app on multiple devices easily. In this excerpt from Ahmad Sahar’s iOS 18 Programming for Beginners, you will learn how to run your app in Simulator.Running your app in SimulatorYou 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:Click the Destination pop-up menu to view a list of simulated devices. Choose iPhone SE (3rd generation) from this menu:In your own projects, you should pick whichever simulator you require. That said, if you want to match the screenshots in this book exactly, use the iPhone SE (3rd generation) simulator. This simulator also has a home button, so it is easier to get to the home screen.Click the Run button to install and run your app on thecurrently selected simulator. You can also use the Command + R keyboard shortcut.Simulator will launch and show a representation of an iPhone SE (3rd generation). Your app displays a white screen, as you have not yet added anything to your project:Switch back to Xcode and click on the Stop button (or press Command + .) to stop the currently running project.You have just created and run your first iOS app in Simulator! Great job!The destination menu has a section showing physical devices connected to your Mac and a Build section. You may be wondering what they are used for. Let's look at them in the next section.***There are plenty more such recipes, which you can read in iOS Programming for Beginners.iOS 18 Programming for BeginnersBuy now at$44.99💡️ Developer TipDo you need an SF symbol in X code? Check out this video here for a shortcut..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.❓ Did You Know?The iconic Android mascot, affectionately known as Bugdroid, was created in 2007 by Google designer Irina Blok. Interestingly, her inspiration came from the universal restroom symbols—those simple human figures on bathroom doors. Blok envisioned a robot version with antennae, resulting in the friendly green figure we recognize today.Sourced from Logobee.👋 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
  • 867

Runcil Rebello
15 Apr 2025
Save for later

MobilePro #167: Gemini in Android Studio, Firebase Studio, Kotlin, Swift, and Ruby's decline in popularity, Vertex AI in Firebase, and more…

Runcil Rebello
15 Apr 2025
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformMobilePro #167: Gemini in Android Studio, Firebase Studio, Kotlin, Swift, and Ruby's decline in popularity, Vertex AI in Firebase, and more…HubSpot has announced new developer features, designed to speed up development and embed integrations more deeply into the areas where users are most productiveFrom more extensible APIs to customizable UI, discover how HubSpot's latest developer tools empower you to build tailored solutions. Explore powerful integration tools and enhanced capabilities that let you create exactly what your customers need, right where they're getting work done.Learn moreHi ,Welcome to the 167th edition of MobilePro! This week, the mobile dev world is buzzing with transformative updates—from Gemini’s enterprise debut to Firebase’s full-stack evolution and critical platform shifts:💼 Android Studio goes pro: Gemini AI tools now cater to enterprise devs with privacy-first features and a new subscription model.🧰 Firebase turns full-stack: Firebase Studio merges Genkit, Gemini, and IDX into a single streamlined dev environment.🤖 Firebase and Vertex AI integration: Vertex AI brings Gemini Live APIs and React Native support for smarter cross-platform apps.📱 Android 16 enters beta: Predictive back, haptic APIs, and stronger security lead the latest UX-driven release.📉 Kotlin, Swift, and Ruby’s declining popularity: Kotlin, Swift, and Ruby dip in TIOBE index as platform limits and Python’s rise fuel their decline.In our What’s Happening in AI? section, we dive into how Microsoft Research is teaching AI to debug your code—pinpointing bugs and auto-suggesting fixes using real-time context and prompt tuning. As always, stick around for our Developer Tip to boost your workflow, and don’t miss the Did You Know? segment!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!Advertise with Us|Sign Up to the Newsletter📱 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.Android Studio unveils enhanced Gemini AI tools for businesses: Android Studio has announced that Gemini AI tools will now take into consideration concerns that developers have regarding privacy and security. Developers can now create apps by using a new subscription-based offering, which has features for organizations managing sensitive codebases and workflow. You can rest assured about data and intellectual property concerns now.Firebase and Vertex AI integration takes another step forward: Firebase announced that it’s making it easier to include AI-driven features into your mobile apps via its integration with Vertex AI. This includes, among other things, the usage of Gemini Live API in Firebase as well as expanding Vertex AI’s ambit to include React Native. That’s not all from Firebase this week though.Firebase introduces Firebase Studio to streamline full-stack app dev: Firebase Studio will merge tools like Project IDX, Genkit and Gemini in Firebase to provide a unified experience to app developers. Whether it’s prototype capabilities that you want to check out or deployment options that you need, Firebase Studio will have these covered. You get to start with 3 workspaces at no cost!Kotlin, Swift, and Ruby languages are facing declining popularity: The TIOBE Programming Community index runs every month, and for the month of April, it shows Kotlin, Swift and Ruby in a swirl of decline. While Kotlin and Swift have similar reasons in that they’re used largely for only one mobile platform each, Ruby has seen a drop in usage as Python takes over the world of programming languages.Android Studio Narwhal | 2025.1.1 Canary 6 now available: Android Studio continues dropping Narwhal in its Canary channel. The new update follows just a couple days after Canary 5. Both include fixes to Android Gradle Plugin, Gradle Files Editor, and Logcat, among others.iOS 18.4.1 to release soon after complaints of bugs in previous build: Apple looks set to release some bug fixes via iOS 18.4.1 after the previous version, iOS 18.4, introduced many bugs. Many iOS users have reported previously deleted apps showing up on their phones again. Some have spoken about battery life being affected. iOS 18.5 too remains in beta testing.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share? MobilePro brings them to you all in one place.What’s Wrong With Apple?: Apple’s internal dysfunction is under scrutiny after delays and underwhelming performance from its AI system, Apple Intelligence, and lackluster Vision Pro sales. Leadership reshuffles followed Siri’s poor accuracy, as political infighting and hardware limitations stifled development. With investor confidence shaken and a federal lawsuit over Siri ads, Apple aims for a fall Siri relaunch—holding out hope that rivals haven’t nailed AI yet either.Android 16 features and changes list: Android 16 is now in beta, introducing predictive back support for 3-button navigation, richer haptic APIs, and progress-centric notifications to enhance user experience. Developers gain access to system-triggered profiling and CPU/GPU headroom APIs for improved performance tuning. Security enhancements include intent redirect protection and AES-256 encrypted Wi-Fi 6 location support. Additionally, the update features an embedded photo picker with cloud integration and support for the Advanced Professional Video (APV) codec.Swift vs Kotlin: Will One Language Rule Them All in 2025 and Beyond?: Swift and Kotlin continue their platform-first dominance into 2025, with Swift pushing Apple’s ecosystem through SwiftUI enhancements and Kotlin expanding multiplatform capabilities via KMP. Kotlin’s JVM roots and cross-platform momentum give it an edge for shared codebases, while Swift remains the go-to for polished native iOS experiences. The battle isn’t about one winner—but about picking the right tool for platform precision or cross-platform speed.Flutter vs React Native: A dev’s deep dive pits Flutter against React Native, praising Flutter’s UI consistency, native performance, and hot reload while noting React Native’s edge in JavaScript ecosystem and wider hiring pool. Flutter wins on tooling and pixel-perfect design, but React Native scores for easier web integration and familiarity. Verdict: pick Flutter for product polish and animations, React Native for faster onboarding and broader library support.🤖 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.Microsoft Research teaches AI tools how to debug code: Microsoft Research is advancing AI-assisted debugging with new tools that pinpoint code issues and auto-suggest fixes using prompt tuning and fault localization. The system improves accuracy by combining language models with real-time code context. Early results show promise for reducing developer workload and accelerating debugging cycles. Expect smarter AI pair programmers with deeper IDE integration ahead.Code in your native tongue: Amazon Q Developer goes global: Amazon Q Developer just went multilingual, letting devs write prompts and get code help in their native language. With support for over 30 languages and region-aware tuning, it's a leap toward inclusive, AI-powered development. Backed by Claude 3 and AWS Bedrock, the tool brings voice commands and chat integration to IDEs like VS Code. Coding just got global—and a lot more human.Using Artificial Intelligence in Software Testing: AI is reshaping software testing in 2025, with tools like Testim and CodiumAI now auto-generating test cases, analyzing app behavior, and flagging flaky tests using LLMs. Shift-left testing goes full throttle as AI integrates into IDEs and CI pipelines. The focus shifts from writing tests to curating and validating them—cutting dev time while boosting quality. Welcome to the age of intelligent QA.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.iOS 18 Programming for BeginnersBuy now at $44.99 $35.99!Use the code iOSPRINT20 at checkoutMobile App Development Tutorial — Excerpt from SwiftUI Cookbook by 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’s SwiftUI 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. A TextField view is used to display multiline editable text, and a SecureField view 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 initial ContentView body variable with our own VStack. The ContentView should 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 the ContentView.swift file: password and someText. Place the values below the ContentView struct declaration. These variables will hold the content of the user's password and Textfield inputs: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 the VStack. Each view should be added immediately after the previous one. Add SecureField and a Text view to the VStack. The Text view displays the value entered in SecureField:SecureField("Enter a password", text: $password) .padding()Text("password entered: \(password)") .italic()Add TextField and a Text view to display the value entered in TextField: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 the SecureField and TextField. Text entered in the SecureField will be masked, while text in the TextField will be shown.***There are plenty more such recipes, which you can read in SwiftUI Cookbook.SwiftUI CookbookBuy now at$44.99💡️ Developer TipOne of the best practices for a successful mobile app is to analyze your funnel. Create a funnel to track where users drop out of the flow. You can use tools like Firebase, Mixpanel or UXCam to do so. Explore more such tips 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.❓ Did You Know?GitHub just launched Security Campaigns—targeted, org-wide initiatives to help developers fix vulnerable dependencies and slash security debt. The update brings guided fix tracking, visibility dashboards, and automated pull requests. Integrated with Dependabot and code scanning, it’s a serious step toward proactive, scalable security hygiene. Developers can now ship safer code—faster and smarter.Sourced from SD Times.👋 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
  • 2103

Runcil Rebello
09 Apr 2025
Save for later

MobilePro #166: What’s new in React Native, iOS 18.4 and Xcode 16.3, Google redefines Android updates, GPT passes the Turing test, and more

Runcil Rebello
09 Apr 2025
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #166: What’s new in React Native, iOS 18.4 and Xcode 16.3, Google redefines Android updates, GPT passes the Turing test, and more…Hi ,Welcome to the 166th edition of MobilePro! With WWDC 2025 around the corner, fresh SDK updates from Apple, and a landmark shift in Google’s Android strategy, this week’s headlines are brimming with momentum:🚀 React Native 0.78 lands with React 19, vector drawable support, faster iOS brownfield integration, and a simpler React Compiler setup to boost performance and productivity.🍏 Apple starts notifying WWDC 2025 in-person lottery winners ahead of the June 9 event at Apple Park.🧰 iOS 18.4 and Xcode 16.3 bring smarter APIs and refined tools for developers. New StoreKit APIs, background UWB ranging, improved SwiftUI behavior, and modernized URLSession support aim to tighten your workflow.📱 Google is redefining Android updates in 2025. With Android 16 on the horizon and update timelines now aligned with flagship rollouts, Google—backed by Qualcomm—is extending platform support up to eight years.In our What’s Happening in AI? section, we’ll examine how GPT-4.5 fared in a modern Turing test setup and how RT-Trajectory from Berkeley’s Robot Learning Lab is teaching robots to perform full tasks from natural language. As always, stick around for our Developer Tip to sharpen your coding workflow, and don’t miss the Did You Know? segment.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.React Native 0.79 - Faster tooling and much more: React Native 0.78 is now out, bringing React 19 to mobile with powerful new features like use, useActionState, and useOptimistic. The update introduces Android vector drawable support, streamlined React Compiler setup, and improved brownfield integration on iOS via ReactNativeFactory. Faster, smaller releases are planned for 2025, and JavaScript log streaming in Metro is now opt-in.Apple begins notifying WWDC 2025 invite lottery winners: Apple has begun notifying winners of the WWDC 2025 in-person lottery, with the event set for June 9 at Apple Park. Attendees include developers, Swift Student Challenge winners, and media, with a welcome reception planned the night before. Expected announcements include iOS 19, macOS 16, and a spotlight on Apple Intelligence. Speculation continues around new hardware and the rumored HomeOS. Let’s check out the next bullet to understand the importance of this event.Here’s why Apple's WWDC 2025 keynote will be the most important one in years: With iOS 19 poised to deliver the most significant UI overhaul in over a decade, WWDC 2025 sets the stage for Apple to recalibrate its AI narrative. Amid delays to the much-anticipated Siri reboot, Apple must restore trust by addressing what went wrong and outlining a clear path forward. The keynote also promises clarity on the future of Apple Intelligence, especially as competitors gain ground. For developers and consumers alike, this year’s WWDC may prove pivotal.iOS 18.4: SDK enhancements, smarter APIs, and stability fixes: Bundled with Xcode 16.3, iOS 18.4 expands the developer toolkit with overlapping conversions in AdAttributionKit and background Ultra Wideband ranging via Nearby Interaction. StoreKit introduces new APIs for advanced in-app purchases, while SwiftUI resolves long-standing modifier quirks. URLSession moves toward a modern HTTP loading mode, and Apple Intelligence stability sees notable fixes across languages and restore scenarios.Here's why Google is finally making big changes to Android updates in 2025: With Android 16 set to launch in Q2, Google accelerates its update timeline to align better with flagship phone releases and speed up API delivery for developers. Backed by a Qualcomm partnership, extended support now reaches up to eight years, lowering barriers for OEMs. The effort isn’t just about longevity—it’s about ensuring each update enhances performance, efficiency, and sustainability. As AI demands grow, 2025 marks a defining shift in Android’s evolution.Microsoft partners with Anthropic to create official C# SDK for Model Context Protocol: Microsoft has partnered with Anthropic to launch an official C# SDK for the Model Context Protocol, simplifying LLM integration into C# applications. Built on the open-source mcpdotnet project, the SDK supports rapid tool and server creation with .NET performance optimizations. Aimed at empowering AI-driven development, the SDK is available as a NuGet package and includes hands-on samples like the Echo server. Developers can explore and contribute via the ModelContextProtocol GitHub repo.💭 What is the Mobile Community Talking About?What are mobile app developers discussing on forums and social networking sites? MobilePro brings any concerns, advice, or tutorials that mobile app developers have shared.Trends in mobile app development in 2025: It’s the age of AI and everyone knows that if a list of trends is made, AI will be at the forefront. But what else is gathering pace? This listicle on Doit Software compiles a decent list of things that you as an app developer should keep at the back of your mind when creating new apps. Are you planning anything for foldable devices? Based on this article, maybe it’s time to do so.Using Swift’s Task Group to implement timeout tasks in Swift Concurrency: Swift Concurrency does many things supremely well but one thing that it misses out on is an API that lets tasks timeout if they are taking too long. This tutorial on the DonnyWals site shows you a way around it and lets you race two tasks using Swift’s Task Group.Flutter introduces their roadmap for 2025: As is routine, Flutter has released their roadmap for 2025. Within iOS, plans include support for iOS 19 and Xcode 17 releases and making SwiftPM the default later in the year. Within Android, Flutter plans to shift Gradle build logic from Groovy to Kotlin. All that and more on Flutter’s Medium blog.Using the useQuery hook in React for efficient API data fetching and caching: Traditionally, developers tend to use useEffect and local state management when handling API calls. However, mobile developer Opeyemi Emmanuel Pcharles depicts a more effective way of doing so by using the useQuery hook. Read his tutorial on Dev.To to learn more.🤖 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.GPT-4.5 edges past the Turing test in new 3-party evaluation: Building on earlier Turing test benchmarks, researchers tested GPT-4.5 in a 3-party setting where participants conversed with both a human and an AI. When prompted to adopt a humanlike persona, GPT-4.5 was mistaken for the human 73% of the time, a significant leap from GPT-4’s 50% in simpler setups. This suggests GPT-4.5 may have effectively passed the Turing test. Further insights await in the full preprint.RT-trajectory: Robots learn full tasks from language: Berkeley’s Robot Learning Lab has unveiled RT-Trajectory, a successor to RT-2, designed to generate entire motion trajectories directly from natural language. Built atop Gemini 1.5 and RT-2 data, it eliminates the need for intermediate waypoints, enabling zero-shot generalization to novel tasks. With this, robots can now follow long-horizon instructions with greater fluidity and precision.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.SwiftUI CookbookBuy now at $44.99Mobile App Development Tutorial — Excerpt from Flutter Design Patterns and Best Practices by Daria Orlova, Esra Kadah, and Jaime BlascoIntegration testing verifies the behavior of a complete app or a significant part of it, often involving multiple widgets and interactions. In this excerpt from Daria Orlova, Esra Kadah, and Jaime Blasco's Flutter Design Patterns and Best Practices, you will learn its intricacies:In this section, we'll work on an improved version of widget testing that will interact between various components and logic to help us avoid having to use integration tests that will be run on a real device. On top of that, it will effectively validate the interactions between various parts of the app, making them closer to integration tests as defined by the Flutter documentation.Creating a fake repositoryRecall that we created FakeCartRepository at the beginning of this chapter. At this point, we also need to create a fake product repository since our tests need to validate more interactions between components. So, create a fake_product_repository.dart file in our current test folder and add the following code:class FakeProductRepository implements ProductRepository { @override Future<List<Product>> fetchProducts() async { return TestData.testProducts; } @override Future<List<Product>> searchProducts(String query) async { return TestData.testProducts.where((product) => product.name.contains(query)).toList(); }}The FakeProductRepository class implements the ProductRepository interface, providing hardcoded responses for fetching and searching products. This allows us to control the data that's returned during tests. To ensure we're always using the same values, we're using TestData, which we created previously.Displaying an item in the cart testSince we also have the product repository now, we can verify the action of showing the candy and its total pricing in CartPage after the user adds a product to the cart.Let’s create our integration_test.dart file under the test folder. Add the following code to it:testWidgets('should display an item in the cart', (WidgetTester tester) async { final fakeCartRepository = FakeCartRepository(); final cartBloc = CartBloc(cartRepository: fakeCartRepository); final product = TestData.testProductListItem; await fakeCartRepository.addToCart(product); await tester.pumpWidget( MaterialApp( home: BlocProvider<CartBloc>( create: (_) => cartBloc, child: const CartPage(), ), ), ); await tester.pump(); expect(find.text('Test Bean'), findsOneWidget); expect(find.text('Total:'), findsOneWidget); expect(find.text('2.0 €'), findsOneWidget); });Now, as you go through the code, you'll see steps similar to the ones we passed in previous sections. Here, we're creating an instance of FakeCartRepository and CartBloc, adding the product to the repository, pumping it to ensure the widget tree is built, and verifying that the product’s name and price are displayed correctly in the cart.***There is plenty more to integration testing, which you can read in Flutter Design Patterns and Best Practices.Flutter Design Patterns and Best PracticesBuy now at$44.99💡️ Developer TipThis week we bring you tips and best practices on building a high-performance React Native app. Head over to the React Native Insights page to unlock all the best practices and tips.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.❓ Did You Know?Apple has been fined €150 million by France's antitrust regulator over its App Tracking Transparency tool, marking the first such penalty globally. The authority ruled that Apple's implementation unfairly hindered smaller publishers and advertisers, despite its stated goal of enhancing user privacy. While Apple expressed disappointment, it won't be required to change the tool immediately. Compliance could be delayed as similar investigations continue across several EU countries.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
  • 921
Subscribe to Packt _MobilePro
Mobile development industry updates to keep your apps relevant

Runcil Rebello
02 Apr 2025
Save for later

MobilePro #165: Introducing Swiftly, what's new in Swift 6.1, GPT-4o, WWDC 2025, and more…

Runcil Rebello
02 Apr 2025
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #165: Introducing Swiftly, what's new in Swift 6.1, GPT-4o, WWDC 2025, and more…Hi ,Welcome to the 165th edition of MobilePro! We hope you are having an exciting week and are ready to explore the world of mobile development. From a flurry of announcements in the world of Swift, with both Swift 6.1 and Swiftly 1.0 being released, to WWDC 2025’s upcoming in-person event and Google’s major shift in Android development—there’s a lot to unpack:🎨 OpenAI rolls out native image generation in GPT-4o to free users with conversational refinement, alongside upgrades to speech models for more dynamic voice interactions.💻 Swift 6.1 is now available. This release includes updates to the language and package manager as well as details on how to get started with this new version, especially with the release of Swiftly 1.0 (as detailed up next).🛠️ Meet Swiftly 1.0 – the new way to manage Swift versions, now a significant part of the core Swift toolchain and soon to become the default way to install Swift outside of Xcode.🍏 WWDC 2025 is coming up on June 9 and applications are open until April 2 (11:59 p.m. PT). Don’t miss your chance to be part of this exciting in-person event at Apple Park for developers!📱 Google is taking Android development behind closed doors, moving away from AOSP to streamline its processes. Get all the details on what this means for the future of Android.That isn’t all. Just like in the previous edition, the What's Happening in AI? section will glance at all the developments in the world of artificial intelligence, including a look at how the Studio Ghibli trend overwhelmed OpenAI. We also have the Developer Tip section to enhance your workflow and the Did You Know? section, because how else can you plan for the future without knowing your past?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.Swift 6.1 is now available: Six months after Swift 6 entered the realm of public availability, the Swift team has released Swift 6.1, with a host of changes, including improvements in language as well as diagnostics, which help enhance productivity. There are updates to the package traits alongside attempts to refine compile times. To ease the stress of installation, Swift has introduced Swiftly 1.0; you can learn more about it in the next bullet.Meet Swiftly 1.0 – the new way to manage Swift versions: Swiftly 1.0 is making it easier than ever to install, manage, and update Swift toolchains. Developers can seamlessly switch between versions, access nightly builds, and keep projects consistent with .swift-version files. Now officially part of the Swift toolchain, Swiftly can update itself and is set to become the go-to way to install Swift outside of Xcode.WWDC 2025 kicks off June 9; applications close April 2: Apple’s Worldwide Developers Conference is back, and it all starts with a special event at Apple Park. Attendees can watch the Keynote and Platforms State of the Union, connect with Apple experts in labs, explore the campus, and take part in exclusive activities. Want in? Applications are open until April 2 at 11:59 p.m. PT, with notifications going out on April 3. Eligibility is limited to Apple Developer Program members, Apple Developer Enterprise Program members, and Swift Student Challenge winners from 2023 to 2025.Google locks down Android development: Google is taking Android OS development fully behind closed doors, according to Android Authority. The company is moving away from its long-standing practice of developing parts of the OS in the open via the Android Open Source Project (AOSP). The goal? To streamline development by eliminating the need to maintain separate public and internal branches. While this means fewer early insights into upcoming features, Google says it will continue releasing source code to AOSP after each official launch, ensuring manufacturers and developers can still customize Android.Jetpack’s latest update enhances Compose runtime: The Compose Runtime library—responsible for state management and composition—gets a boost with new features aimed at smoother, more efficient UI updates. PausableComposition now enables asynchronous composition, while runtime-tracing offers deeper performance insights. The takeaway? More responsive and optimized Compose apps.Firebase expands AI and cloud capabilities: The latest Firebase update brings upgrades across its SDKs for Android, Apple, JavaScript, Admin, Unity, and Flutter. Key highlights? Improved Analytics, enhanced Cloud Functions, and expanded Remote Config support—plus a public preview of Vertex AI integration. Also new: streaming callable functions for real-time data handling and broader App Check support. The goal? Smoother performance, better developer experience, and deeper integration across the Firebase ecosystem.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share? MobilePro brings them to you all in one place.Optimizing SwiftUI for scalability: Mobile developer Bunthoeun Soeun has created an AI-driven smart-banking mobile app. While doing so, he tried maintaining clean code principles and a modular organization so that it could be scaled, reused, and tested with ease. You can read more on their LinkedIn post.Flutter plugins to make development easier: Those working with Flutter often find themselves at a crossroads when trying to find plugins, or figuring out whether they exist at all. You won’t be lost any further though as Rishad has compiled 586 plugins (at the time of writing) for ease of access. Do you require a plugin for creating and managing multiple windows on the desktop or one for detecting screenshots on Android/iOS? Rishad’s post in LinkedIn has you covered.Fix performance bottlenecks in your mobile app: Your app’s gone live but you notice it lags between certain pages. Another time, you feel that your app isn’t being as fast as it should be. Aneeqa Khan provides a few tips and tricks on solving these problems so that your app is running as smoothly as possible.🤖 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 GPT-4o Image Generator gains popularity, now available to free users: OpenAI has made its advanced image generation feature, powered by GPT-4o, available to all users, including free-tier subscribers. This tool, which can create photorealistic images, has gained attention for producing Studio Ghibli-inspired art. However, free users face limits, including a cap of three images per day. The rollout was initially delayed due to high demand (see next bullet!) but has now been completed.Ghibli trend overwhelms OpenAI—Sam Altman urges users to slow down: OpenAI’s latest GPT-4o update brought native image generation, and one style took over—Studio Ghibli. Social media is now packed with AI-generated Ghibli-inspired art, pushing OpenAI’s servers to the limit. The response? CEO Sam Altman urged users to slow down, posting, “Can y’all please chill on generating images? This is insane, our team needs sleep.” To handle the surge, OpenAI has temporarily capped free-tier users at three image generations per day.OpenAI unveils next-gen audio models for smarter, more expressive voice interactions: OpenAI has upgraded its speech-to-text and text-to-speech models, making voice interactions more natural and dynamic. GPT-4o-transcribe and GPT-4o-mini-transcribe boost accuracy across multiple languages and tough listening conditions, while the latest text-to-speech model introduces customizable speech styles—perfect for everything from empathetic customer support to expressive storytelling. The goal? More human-like, reliable audio AI.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.Designing Information ArchitectureBuy now at $44.99Designing Information Architecture is your guide to building intuitive digital spaces, helping users navigate information overload with ease. Written by UX expert Pabini Gabriel-Petit, it covers proven IA design strategies, effective search systems, and modern AI-driven approaches. Whether you're structuring websites, apps, or intranets, this book offers practical insights to improve organization, findability, and usability.Mobile App Development Tutorial — Excerpt from An iOS Developer's Guide to SwiftUI by Michele FaddaSwiftUI, like any other framework, can have its own quirks. For instance, why does @viewbuilder allow just 10 views and not more?Michele Fadda's An iOS Developer's Guide to SwiftUI is here to help you out on that front, with the following excerpt:In this section, we will explain why we have a limit of just 10 child views, for example, on HStacks and VStacks.The @SwiftUiBuilder attribute is a result builder that allows the creation of child views for a SwiftUI view without the need for return keywords.You are already using @ViewBuilder; internally, the definition of the protocol View internal to the SwiftUI framework is the following:Public protocol View { Associatedtype Body:View@ViewBuilder var body: Self.Body { get }}There is no need to add the preceding code yourself, as this is a part of the SwiftUI code.The effect of this protocol declaration is that you can write your SwiftUI body the way you have seen so far, that is, omitting the return. Take the following example:struct ContentView: View {var body: some View {Text("Example")}}@ViewBuilder is defined this way inside SwiftUI:@available(iOS 13.0, OSX 10.15, tvOS 13.0, watchOS 6.0, *)extension ViewBuilder {public static func buildBlock<C0, C1>(_ c0: C0, _ c1: C1) -> TupleView<(C0, C1)> where C0 : View, C1 : View}@ViewBuilder contains a static buildBlock method that receives two views and returns a TupleView function of generic views conforming to the View protocol.@ViewBuilder also has similar definitions for up to 10 different views.This is the underlying reason why @Stackbuilder and the views built with it, for example, HStacks and VStacks, can only contain up to exactly 10 different views.We can use @ViewBuilder directly ourselves, inside initializers, definitions of methods, or in front of properties.By using the @Stackbuilder result builder, it is possible to create more compact code and improve readability, or we can create our version of a view, kind of like a custom UI component.***Read Michele Fadda’s further thoughts and work in An iOS Developer's Guide to SwiftUIto find out.An iOS Developer's Guide to SwiftUIBuy now at$44.99💡️ Developer TipIf you’re a React Native user, this one’s especially for you. Priya Bapodra, a software engineer in the mobile dev space, has listed out 7 tips that will help you while navigating React Native. Here's one of those tips:"While inline styles are easy to use, they can be less efficient and harder to manage in larger projects. Opt for StyleSheet.create to improve performance and make styles more maintainable."You can read the remaining tips in Priya’s LinkedIn post 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.❓ Did You Know?On April 3, 1973, the first-ever mobile phone call creates history. Standing on Sixth Avenue in New York City, Motorola engineer Martin Cooper made a call that reshaped communication forever. Using the Motorola DynaTAC—a 2.5-pound, 10-inch prototype—he dialed his rival, Joel Engel of Bell Labs, proving that mobile phones weren’t just a concept. That moment kicked off the shift from bulky, stationary phones to the pocket-sized essentials we rely on today.Sourced from Android Authority.👋 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
  • 2742

Runcil Rebello
26 Mar 2025
Save for later

MobilePro #164: What's new in Kotlin, Android 16’s third beta, Claude’s ability to search web, and more…

Runcil Rebello
26 Mar 2025
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #164: What's new in Kotlin, Android 16’s third beta, Claude’s ability to search web, and more…Hi ,Welcome to the 164th edition of MobilePro! We hope you are having an amazing week and are ready to explore the world of mobile development. From Apple’s AI-powered Priority Notifications to Kotlin’s newest preview build, Android 16’s Beta 3 milestone, and Lynx, a new cross-platform framework—there’s plenty to explore:📲 Apple’s iOS 18.4 update enhances Siri, improves Apple Cash virtual cards, and brings security and enterprise updates.🚀 Kotlin 2.1.20-RC3 is here, bringing major upgrades to multiplatform development and IDE integration.🤖 Android 16 Beta 3 lands with finalized APIs, Auracast support, and new accessibility features.🌍 Lynx is redefining cross-platform development, letting devs build native UIs with Rust-based tooling.That isn’t all. We bring you a new section, What's Happening in AI?, where we glance at all the developments in the world of artificial intelligence, including a look at Claude’s new capability. We also have the Developer Tip section to enhance your workflow and the Did You Know? section, because how else can you plan for the future without knowing your past?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.iOS 19 focused on bringing ‘current’ Apple Intelligence capabilities to new apps: iOS 19 is on the horizon, but don’t expect a flood of brand-new AI features. Instead, Apple is doubling down on expanding its existing Apple Intelligence capabilities across more apps, according to a report from 9to5Mac. The real game-changer? A major design overhaul inspired by visionOS, marking the biggest visual refresh since iOS 7. As for Siri’s long-awaited AI improvements, those are reportedly being pushed to iOS 20. Get the full scoop over at 9to5Mac.What's new in Kotlin 2.1.20-RC3: Kotlin’s latest Early Access Preview (EAP) is here, bringing fresh updates across the language, compiler, and tools. This round packs in improvements to Kotlin Multiplatform, performance boosts in the K2 compiler, and tighter IDE integration—all geared toward making development smoother and cross-platform support even stronger. Want a sneak peek before the official release? Now’s your chance to try it out. For the full breakdown, head over to Kotlin’s official EAP page.Apple’s iOS 18.4 update: Apple's iOS 18.4 update includes improvements to Siri and Shazam, enhancements for Apple Cash virtual card numbers, and updates to Message app links for better functionality. It also brings enterprise and networking updates, along with various bug fixes and security improvements. Catch the full rundown over in the official release notes.The Third Beta of Android 16: Android 16 Beta 3 just landed, hitting a major milestone with Platform Stability—meaning developers now have finalized APIs and system behaviors to work with. This update isn’t just about polish, though. It rolls out Auracast support, letting LE Audio hearing aids and earbuds stream directly from public venues. Accessibility gets a boost with Outline Text, a new option that enhances readability for users with low vision. And for those keeping an eye on privacy, the new Local Network Protection feature puts more control in users' hands, limiting which apps can access other devices on the same network. For the full breakdown, check out Google’s official update.Where is SwiftAssist? WWDC 2024 brought plenty of buzz, and one of the standout announcements was Swift Assist—Apple’s AI-powered coding companion for Xcode 16, promising to generate code from natural language prompts. Fast forward to March 2025, and it’s still nowhere to be seen. Apple is yet to release a beta or even provide an update, leaving developers frustrated and wondering when (or if) it will finally arrive. For the full story, check out MacRumors’ coverage.Lynx, a new cross-platform development framework: Lynx is shaking up cross-platform development, letting developers tap into their web skills to build native UIs for mobile and web—all from a single codebase. With a high-performance rendering engine, a dual-threaded UI model, and modern Rust-based tooling, it’s designed for speed and flexibility. Developers can use familiar markup and CSS for UI design while keeping the main thread free for smooth, responsive interactions. Even TikTok is on board, using Lynx to power dynamic experiences across platforms. For the full deep dive, check out Lynx’s official blog.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share? MobilePro brings them to you all in one place.Apple’s Siri Delays and Messaging Missteps: John Gruber isn’t holding back in his latest piece. He takes a jab at Apple for delaying the much-hyped “more personalized Siri” features of Apple Intelligence, now pushed to next year. Gruber admits he overlooked early warning signs of a potential delay and dives into Apple’s track record of announcing features at varying stages of readiness. His main concern? Apple’s messaging—what’s actually ready to ship versus what’s just a concept. It’s a deep dive into the company’s evolving development and communication strategies. Read more over at Daring Fireball.How to Get an Instant Price Estimate for Your Next Project: Need a quick ballpark figure for your next app? This article breaks down an online tool that does just that. Punch in details like app type, platform, must-have features, design complexity, and timeline, and boom—you’ve got an instant estimate. It’s a game-changer for budgeting and financial planning, giving you a clear look at development costs without the back-and-forth of consultations. Get the full scoop over at Dev.to.How to Create a Splash Screen and App Icon in a React Native Expo App: First impressions matter, and that’s where a slick splash screen and app icon come in. How to Create a Splash Screen and App Icon in a React Native Expo App walks you through the process step by step. From generating the right image sizes to tweaking your app.json or app.config.js file, this guide covers everything you need to get your branding on point. Plus, it breaks down testing for both Android and iOS, so your visuals look sharp across the board. Get the full rundown over at Dev.to.Open-source Flutter app called TicTask: Meet TicTask, a fresh open-source Flutter app that blends task management with a built-in timer to keep productivity on point. Powered by Flutter + BLoC, it’s gearing up for an App Store debut soon. The dev behind it is opening the doors to the community—whether you want to explore, contribute, or fork the project on GitHub, now’s the time. Got feedback? Suggestions? They’re all ears. Check it out over on LinkedIn.🤖 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.Claude can now search the web: Claude just leveled up. Anthropic has rolled out a web search feature, letting the AI tap into real-time internet data for more up-to-date and relevant answers. Right now, it’s in preview for paid users in the U.S., but wider access—including free users and more regions—is on the horizon. When enabled, Claude pulls in fresh info, complete with direct citations so you can verify sources. Want to try it out? Head to your profile settings and flip the switch. More details over at Anthropic.An AI app to help speech-impaired users communicate more naturally: Northeastern University researchers Aanchan Mohan and Mirjana Prpa are working on Speak Ease, an AI-powered mobile app designed to support people with speech impairments. It’s more than just text-to-speech—it blends speech recognition, text input, whole-word selection, emojis, and personalized voice synthesis to make communication smoother and more expressive. With large language models in the mix, the app predicts relevant phrases and even lets users customize audio output to convey emotions, tackling both speed and expressivity challenges. More on this innovation over at Northeastern News.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.Flutter Design Patterns and Best PracticesBuy now at $44.99Mobile App Development Tutorial — Excerpt from iOS 18 Programming for Beginners by Ahmad SaharWhere do you even begin when making an app for iOS 18? In case you're just starting out and aren't sure, Ahmad Sahar's iOS 18 Programming for Beginners is here to help you out. It is detailed and comprehensive and covers everything while using Swift 6 and Xcode 16. Ahead is an excerpt on how to store a collection of values within dictionaries in Swift:Creating a dictionaryImagine that you're creating a Contacts app. For this app, you'll use a dictionary to store your contacts. Just like an array, you can create a new dictionary by declaring it and assigning an initial value to it. Add the following code to your playground and run it:var contactList = ["Shah" : "+60123456789", "Aamir" : "+0223456789"]This instruction creates a dictionary variable named contactList. The assigned value, ["Shah" : "+60123456789", "Aamir" : "+0223456789"], is a dictionary literal. It represents a dictionary with two elements. Each element is a key-value pair, with the contact name as the key and thecontact number as the value. Note that since the contact name is the key field, it should be unique.Since the contactList dictionary is a variable, you can change the contents of the dictionary after it has been created. Both key and value are of type String due to type inference.Imagine that your app must display the total number of contacts. In the next section, you'll learn how to determine the number of elements in a dictionary.Checking the number of elements in a dictionaryTo find out how many elements there are in a dictionary, use count. Type in and run the following code:contactList.countAs there are two elements in the contactList dictionary, 2 is displayed in the Results area.You can check whether a dictionary is empty by using isEmpty. Type in and run the following code:contactList.isEmptySince the contactList dictionary has two elements, false is displayed in the Results area.It is also possible to see if a dictionary is empty by using contactlist.count == 0 but using contactList.isEmpty offers better performance.Imagine that you just finished a meeting, and want to add a new contact to your app. As this dictionary was declared using the var keyword, you can add key-value pairs to it. You'll learn how in the next section.Adding a new element to a dictionaryTo add a new element to a dictionary, provide a key and assign a value to it. Type in and run the following code:contactList["Meena"] = "+0229876543"contactListThis adds a new key-value pair with the key "Meena" and the value "+0229876543" to the contactList dictionary. It now consists of "Shah" : "+60126789345", "Aamir" : "+0223456789", and "Meena" : "+0229876543". You can see this in the Results area.Imagine that you want to call one of your contacts, and you want the phone number for that contact. In the next section, you'll see how to access dictionary elements by specifying the key for the desired value.Accessing a dictionary elementYou can specify a dictionary key to access its corresponding value. Type in and run the following code:contactList["Shah"]This returns the value for the key "Shah", and +60123456789 is displayed in the Results area.***There are many more scenarios captured ahead. Imagine that one of your contacts has a new phone, so you must update the phone number for that contact. How do you go about that?Well, read Ahmad Sahar’s further thoughts and work in iOS 18 Programming for Beginnersto find out.iOS 18 Programming for BeginnersBuy now at$44.99💡️ Developer TipCarlos B. is sharing a handy Xcode spacing shortcut—a trick they swear by for keeping code formatting clean and consistent. If you’re all about writing neatly structured code, this tip might just make your workflow smoother. Check out the full breakdown in their post!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.❓ Did You Know?MIT is taking no-code app development to the next level with Aptly, an extension of the App Inventor platform that lets users build mobile apps just by describing them in plain language. Powered by large language models, Aptly makes app creation more accessible than ever—whether you’re generating new apps or tweaking existing ones, all it takes is a simple conversation. Check out the complete paper here.👋 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
  • 1523

Runcil Rebello
19 Mar 2025
Save for later

MobilePro #163: Google I/O 2025, Latest Updates in Flutter and Android 16, and more…

Runcil Rebello
19 Mar 2025
Mobile development blogs, tutorials and resources inside!Latest Mobile Dev Insights: iOS, Android, Cross-PlatformAdvertise with Us|Sign Up to the NewsletterMobilePro #163: Google I/O 2025, Latest Updates in Flutter and Android 16, and more…Hi ,Welcome to the very first edition of MobilePro for 2025! We’ve been away for some time, but we're back with vigor and fresh new insights. We are here to deliver all recent happenings from the world of mobile development straight to your inbox. This edition features a roundup of top mobile dev news, including details on the upcoming Google I/O, Apple Intelligence finally supporting new languages, and discussions around UI development in Flutter. We also have a new Developer Tip section to enhance your workflow and a Did You Know? section, because how else can you plan for the future without knowing your past?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.All you need to know about Google I/O 2025: It’ll soon be summer and with that Google I/O will roll into town, with dates set for May 20-21, 2025. Android 16 might as well be the focus due to it prevailing rumors of it foregoing a usual Q3/Q4 release for an earlier Q2 release. But that’s not all, Artificial Intelligence (AI) continues to gather a major foothold and we’re sure Google will have lots to say about that as well. To know what else the Google I/O 2025 could cover, head over to Android Authority for a lowdown.Additional language support for Apple Intelligence: Hopping over to the iOS side of things, Apple sneakily mentioned in its press release for the iPhone 16e that support for additional languages for Apple Intelligence will finally be available in April 2025. There’s a good sprinkling of languages from around the world: French, German, Italian, Portuguese (Brazil), Spanish, Japanese, Korean, Chinese (simplified) as well as two variants of English (Singapore and India). AppleInsider has you covered.What’s new in Flutter 3.29: Flutter 3.29 arrived on February 12, bringing a host of improvements to streamline development and enhance performance. This update fine-tunes Impeller for smoother rendering, polishes Cupertino widgets for a more refined iOS experience, and introduces new DevTools features to simplify debugging. This post on Flutter's official Medium account has all the info!The second beta of Android 16 is live: Android 16 Beta 2 landed on February 13, packing in a range of updates designed to enhance both user experience and developer capabilities. This release introduces advanced camera features, like hybrid auto-exposure and precise color temperature adjustments—perfect for pro-level photography. Graphics get a boost with new visual effects, while performance frameworks see further optimization. Developers can get hands-on with the latest updates by enrolling supported Pixel devices. Android Developers Blog has the details.Play Protect’s new abilities for a safer app ecosystem: Google is taking further precaution in a bid to stop malicious apps from wreaking havoc on your Android phone. It has doubled down on giving its Play Protect service additional authority to turn off an app’s permissions. Google is taking no chances, even displaying notifications constantly in case you decide to manually switch off Play Protect. To understand why Google is doing so, Google Security Blog has an explainer.💭 What is the Mobile Community Talking About?What are mobile app developers discussing? Do you have any concerns, advice, or tutorials to share? MobilePro brings them to you all in one place.Android’s edge-to-edge Activity API simplifies backwards compatibility for full-screen layouts: Android’s Edge-to-Edge Activity API is here to take the hassle out of building full-screen layouts, especially when dealing with older Android versions. By handling system UI elements more efficiently, the API ensures a smooth and consistent edge-to-edge experience across devices—without the usual version-specific workarounds. If you’re working with Android SDK versions older than Android 11 (SDK 30), this Medium step-by-step article by Luke Simpson explains how you can implement it.How to develop your UI instinct within Flutter: While you may be an expert in Flutter, UI design within it is an altogether different ball game. What is the best way to develop your skills on that front? Should you look at older designs? Is there any documentation to help you get through this? u/fotisstoy had the same question on the r/FlutterDev subreddit and received many helpful answers from the Flutter community.How to solve developer login fatigue with a custom Android keyboard: Logging in over and over again can be a pain, but AccountFastTrack offers a clever solution: a custom Android keyboard designed to speed up authentication. This keyboard integrates account management right into the typing experience, letting developers bypass repetitive login steps for a smoother workflow. Want to see how it works? This post on Medium by Ammarptn tells you how.Timekeeping made easier: Many apps rely on a phone’s in-built time to run their features. This can lead to a lot of chaos if the phone’s user has unwittingly (or on purpose) played around with the time settings on the device. Fear not, though, as Kanyinsola Fapohunda and Geoffrey Boullanger have created the TrustedTime API that syncs itself to Google’s servers, thus ensuring that the time is always right. They’ve elaborated on the API at the Android Developers Blog.📚️ Latest in Mobile Development from PacktMobilePro presents the latest titles from Packt that ought to be useful for mobile developers.Flutter Design Patterns and Best PracticesBuy now at $44.99Mobile App Development Tutorial — Excerpt from Mastering iOS 18 Development by Avi TsadokHome screen widgets for iOS are a very recent development with iOS 14, and now with iOS 18, third-party apps are allowed access to widgets on the home screen as well as in the control center. Avi Tsadok in Mastering iOS 18 Development elaborates on how to make full use of this newfound freedom to make your app’s presence felt on the home screen. What follows is an excerpt on how to add your widget to the control center using WidgetKit:Similar to how we create a widget by conforming to the Widget protocol, we need to conform to the ControlWidget protocol to create a control widget. For example, imagine we have an app that helps us control smart home accessories, and we want to create a widget that opens and closes our home’s main door. Let’s start by creating a simple control widget called MaindoorControl:struct MaindoorControl: ControlWidget { var body: some ControlWidgetConfiguration { StaticControlConfiguration( kind: "com.avitsadok.MaindoorControl" ) {// rest of the widget goes here } }}In this code example, the MaindoorControl widget contains the body variable from the time of ControlWidgetConfiguration. In this case, we return an instance of the StaticControlConfiguration type, which means we don’t give the user the ability to configure it. However, similar to the home screen widget, we can also add a user-configurable control widget by returning AppIntentControlConfiguration.We can add two control widget controls – a toggle and a button. In the case of controlling our home’s main door state, we need to add a toggle. Let’s modify our code and add a ControlWidgetToggle instance:struct MaindoorControl: ControlWidget { var body: some ControlWidgetConfiguration { StaticControlConfiguration( kind: "com.avitsadok.MaindoorControl" ) { ControlWidgetToggle( "Main door control", isOn: HouseManager.shared.isOpen, action: MaindoorIntent() ) { isOn in Label(isOn ? "Opened" : "Closed", systemImage: isOn ? "door.left.hand.open" : "door.left.hand.closed") } } }}In this code example, we add the ControlWidgetToggle, containing the following parameters:A title – The widget title that appears for the widget in the widget gallery.isOn – Here, we connect the widget to the actual state in our app.action – The App Intent that runs when the user taps our control widget. We’ll cover that later in this section.A view builder – In the view builder, we define how a Label displays the control state’s title and an image.The widget instance is straightforward. Let’s see how it looks in our control center:***You can read Avi Tsadok’s further thoughts and work in Mastering iOS 18 Development.Mastering iOS 18 DevelopmentBuy now at$41.99💡️ Developer Tip“Avoid the golden hammer. There is no one way to do something and learn early on to formulate your options, pros and cons, and pick the one that works for that situation. Also avoid cultures that enforce this “one way to do something”.” — Melvyn SopacuaSourced from Medium.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.❓ Did You Know?According to Sensor Tower's Mobile App Market Forecast 2030, consumers are projected to spend over $2.2 trillion on apps between 2021 and 2030, with annual spending reaching $288 billion by 2030. Additionally, nearly 2.9 trillion new apps and games are expected to be downloaded during this period, reflecting a 123% increase from the previous decade. Total time spent on mobile devices is anticipated to surpass 58 trillion hours over the decade. Check out Sensor Tower’s complete forecast.👋 And that’s a wrap. We hope you enjoyed this new and improved MobilePro. If you have any suggestions and feedback, or would just like to say hi to us—maybe you reacted joyously to our lovely new banner!—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
  • 1719

Apurva Kadam
14 Dec 2024
Save for later

MobilePro #162: Chrome Extensions, App navigation patterns, Intercept vs. OpenAI, QwQ, Intenty.

Apurva Kadam
14 Dec 2024
Mobile development blogs, tutorials and resources inside!Advertise with Us|Sign Up to the Newsletter @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }MobilePro #163: Chrome Extensions, App navigation patterns, Intercept vs. OpenAI, QwQ, Intenty.Hi ,Welcome to the mobile app development world with the 163rd edition of _mobilepro! This is the last edition of 2024 - we will see you refreshed and rejuvenated in 2025!In this edition we cover mobile development community discussions on:Top 14 Chrome Extensions for Developers to Boost Productivity in 2024Mobile App Navigation: Patterns and ExamplesHow to Disable Screenshot Capture in Your React Native Expo AppMastering Jetpack Compose: From Beginner to ProWearable Technology and Android: Developing Apps for SmartwatchesIn our relatively new section captures internet jibber-jabber about the mobile ecosystem:Continue And PersistQwQ: Reflect Deeply on the Boundaries of the UnknownCore copyright violation claim moves ahead in The Intercept’s lawsuit against OpenAIThe deterioration of GoogleIntenty: check phone lessEvery week we recommend mobile app development resources, and this week we feature:1. Swift Cookbook2. Mastering Kotlin for Android 143. .NET MAUI ProjectsToday's news covers release stories on Apple, Android,and Microsoft. And if you are currently developing an iOS app, checkout this week's resources on iOS tools. Don’t miss this week’s tutorial from the book ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ .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 installment in our new series,fill in our survey below andwin a free PDF on your Packt account.Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, PacktMobile App Dev Community SpeakWhat are Mobile developers discussing? What are the latest tips and tricks? Shortcuts and experiments? Cool tutorials? Releases and updates? Find it all out here.Top 14 Chrome Extensions for Developers to Boost Productivity in 2024 – This article covers game-changing Chrome extensions. These tools took my workflow from chaotic to manageable, saving not only my time but possibly my job too. From squashing bugs to speeding up design work, these extensions will transform the way you code. If you're stuck pulling all-nighters and questioning your career choices, these 14 Chrome extensions might just be your lifesaver, helping you boost productivity, catch bugs early, and maybe even get back some work-life balance.Mobile App Navigation: Patterns and Examples - In a mobile-first world, users should find it effortless to interact with any mobile app (or website, for that matter). The big idea is to prioritize what matters the most, given that the mobile devices include a small screen real estate. Navigation design for mobile apps helps in this direction.How to Disable Screenshot Capture in Your React Native Expo App - Privacy and security are critical for mobile applications, developers often need to ensure that sensitive information displayed in their apps cannot be easily captured through screenshots or screen recordings. While React Native Expo provides a powerful framework for building cross-platform apps, it doesn’t offer a built-in way to disable screenshot capture. However, you can achieve this by integrating native code into your Expo project. In this article, we’ll walk you through the steps to disable screenshot capture in your React Native Expo app for both AndroidMastering Jetpack Compose: From Beginner to Pro - Feeling bogged down by complex UI code?Jetpack Composeis here to simplify your work and boost your team's productivity. Curious to learn more? Dive into our latest carousel post below to see these concepts in action and discover how Jetpack Compose can revolutionize your development process.Wearable Technology and Android: Developing Apps for Smartwatches - The rise of wearable technology has transformed the way we interact with the digital world. Smartwatches, fitness trackers, and even smart glasses are now integral parts of our daily lives, offering convenience, real-time data, and personalized experiences. In this blog, we’ll explore the growing market for wearable tech and share insights into developing Android apps for smartwatches and other wearable devices.Mobile App Dev ReposCheck this space for new repos, projects and tools each week! This week we bring you a collection of iOS tools for Images.Viewer- Image viewer (or Lightbox) with support for local and remote videos and images.OverlayComposite- An asynchronous, multithreaded, image compositing framework written in Swift.MetalPetal- A GPU-accelerated image/video processing framework based onMetal.Avatar- Generate random user Avatar images using CoreGraphics and QuartzCore.Serrata- Slide image viewer library similar to Twitter and LINE.StyleArt- Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style.greedo-layout-for-ios- Full aspect ratio grid layout for iOS.This is our final edition for 2024, but don’t worry—we’ll be back with more insights and updates in January 2025. In the meantime, we’ve got a little holiday treat for you!Packt has some exciting offers lined up to help you boost your tech skills and get ready for an amazing new year! It’s the perfect opportunity to relax, learn something new, and stay ahead in your field. Keep an eye out for these special holiday deals!From all of us at the Packt Newsletters team, we wish you a joyful holiday season and a fantastic start to 2025. See you next year! 🎄✨Trending TitlesOur weekly recommendations of the best resources in Mobile App Development!Swift CookbookBuy now at $35.99$24.99Mastering Kotlin for Android 14Buy now at $31.99 $21.99.NET MAUI ProjectsBuy now at $41.99 $28.99Internet Jibber-JabberRandom curious musings and interesting words about Mobile Dev on the Internet.Continue And Persist - Send someone you appreciate an official ‘Continue and Persist’ Letter. Every day, thousands of Cease and Desist letters are issued, telling people to stop what they’re doing (Looking at you, David Chang). What a bummer! That’s why we created:TheContinue and Persist Letter. A official-lookinglegalletter that encourages and uplifts people, one that tells people to keep doing what they’re doing! Surprise someone you appreciate by sending them a Continue and Persist Letter.QwQ: Reflect Deeply on the Boundaries of the Unknown - What does it mean to think, to question, to understand? These are the deep waters that QwQ (Qwen with Questions) wades into. Like an eternal student of wisdom, it approaches every problem - be it mathematics, code, or knowledge of our world - with genuine wonder and doubt. QwQ embodies that ancient philosophical spirit: it knows that it knows nothing, and that’s precisely what drives its curiosity. Before settling on any answer, it turns inward, questioning its own assumptions, exploring different paths of thought, always seeking deeper truth. We invite you to explore alongside QwQ, embracing both its insights and its imperfections as part of the endless quest for understanding.Core copyright violation claim moves ahead in The Intercept’s lawsuit against OpenAI - Last week, aNew York federal judge ruleda key copyright violation claim by The Intercept against OpenAI would move ahead in court. The ruling is the latest in a series of major legal decisions involving the AI developer this month, after OpenAI sought to dismiss lawsuits from several digital news publishers.The deterioration of Google - Hundreds of independent publishers have shuttered in the last two years, and thousands more are on the way. None of them are doing well. They all expect to be out of business soon. What I discovered was that web media companies can’t count on any of the traffic coming from Google or Facebook anymore. Very few, even one that are frugally run, are capable of surviving on the traffic that remains. The problem doesn’t seem limited to a few sites. What seems to have happened is that Google tried to “fix” their search engine results by using machine learning to rank sites.Intenty: check phone less - Intenty helps you build a healthier relationship with your phone through gentle awareness prompts that appear right when you need them – at unlock. No blockers, no limits, just mindful choices. Mobile App Development TutorialAn excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. PriceSimplifying disposal by using the using statementYou can simplify the code that needs to check for anullobject and then call itsDisposemethod by using theusingstatement. Generally, I would recommend usingusingrather than manually callingDisposebecause it’s less code to write, unless you need a greater level of control.Confusingly, there are two uses for theusingkeyword: importing a namespace and generating afinallystatement that callsDisposeon an object implementingIDisposable.The compiler changes ausingstatement block into atry-finallystatement without acatchstatement. You can use nestedtrystatements; so, if you do want to catch any exceptions, you can, as shown in the following code example:using (FileStream file2 = File.OpenWrite(Path.Combine(path, "file2.txt"))){using (StreamWriter writer2 = new StreamWriter(file2)){try{writer2.WriteLine("Welcome, .NET!");}catch(Exception ex){WriteLine($"{ex.GetType()} says {ex.Message}"); }} // Automatically calls Dispose if the object is not null.} // Automatically calls Dispose if the object is not null.You can even simplify the code further by not explicitly specifying the braces and indentation for theusing statements, as shown in the following code...read more.Read the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!What's Happening in Mobile Development?Your dose of the latest releases, news and happenings in the Mobile Development industry!AppleInside the AudioLab: How Apple developed the world’s first end‑to‑end hearing health experience - The Audio Lab is the hub for the design, measurement, tuning, and validation of all of Apple’s products with speakers or microphones. It’s also the center for Apple’s multiyear, cross-team collaboration to build the groundbreaking newhearing health features on AirPods Pro 2. Available today as a free software update,1the end-to-end experience helps minimize exposure to loud environmental noise with Hearing Protection, track hearing with an at-home Hearing Test, and receive assistance for perceived mild to moderate hearing loss using AirPods Pro as a clinical-grade Hearing Aid.TestFlight Release Notes - You can now submit apps built with Xcode16.2 beta3 using the SDK for iOS18.2 beta4, iPadOS18.2 beta4, macOS15.2 beta4, tvOS18.2 beta3, visionOS2.2 beta3, and watchOS11.2 beta3 for internal and externaltesting.Debugging an invalid privacy manifest - Identify common configurations that cause unsuccessful privacy manifest validation with the App Store. Starting November 12, 2024, apps you submit for review in App Store Connect must contain a valid privacy manifest file. If you upload an app to App Store Connect that contains invalid privacy manifest files, you’ll receive an email that includes the name and path of the invalid files in your app bundle.ReviewPrivacy manifest filesto learn about the keys you can include in a privacy manifest. This document lists possible reasons for invalid privacy tracking and accessed API values in your privacy manifest. Validate your privacy manifest to determine why your privacy manifest is malformed.AndroidIntroducing Restore Credentials: Effortless account restoration for Android apps - Did you know that, on average, 40% of the people in the US reset or replace their smartphonesevery year? This frequent device turnover presents a challenge – and an opportunity – for maintaining strong user relationships. When users get a new phone, the friction of re-entering login credentials can lead to frustration, app abandonment, and churn. To address this issue, we're introducingRestore Credentials, a new feature of Android’s Credential Manager API. With Restore Credentials, apps can seamlessly onboard users to their accounts on a new device after they restore their apps and data from their previous device. This makes the transition to a new device effortless and fosters loyalty and long term relationships.Making the Play Integrity API faster, more resilient, and more private - Play Integrity APIhelps protect your business from revenue loss and enhance user safety. You can use the Play Integrity API to detect suspicious activity and decide how to respond to abuse, such as fraud, bots, cheating, or data theft. In fact, apps that use Play Integrity features have seen 80% less unauthorized usage on average compared to other apps. Today, we’re sharing how we’re enhancing the Play Integrity API for everyone.And that’s a wrap.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! *{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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 6298

Apurva Kadam
06 Nov 2024
Save for later

MobilePro #160: React Native Navigation Libraries, Flutter Keys, Forking Flutter, Apple is Killing Swift, 10 years of 20248, fediverse’s TikTok competitor called Loops.

Apurva Kadam
06 Nov 2024
Mobile development blogs, tutorials and resources inside!Advertise with Us|Sign Up to the Newsletter @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }200+ hours of research on AI tools & hacks packed in 3 hoursThis free 3-hour Training on AI & ChatGPT (worth $399) will help you become a master of 20+ AI tools & prompting techniques and save 16 hours/week.Get it now for absolutely free! (for first 100 users only) 🎁You will learn how to:➣ Build business that make $10,000 by just using AI tools➣ Make quick & smarter decisions using AI-led data insights➣ Write emails, content & more in seconds using AI➣ Solve complex problems, research 10x faster & save 16 hours every weekRegister & Save Your Spot Now (Only 100 free seats left!)SponsoredMobilePro #160: React Native Navigation Libraries, Flutter Keys, Forking Flutter, Apple is Killing Swift, 10 years of 20248, fediverse’s TikTok competitor called Loops.Hi ,Welcome to the mobile app development world with the 160th edition of _mobilepro!In this edition we cover mobile development community discussions on:How to Create the Carousel UIKit in Swift: A Step-by-Step GuidePWAs vs. Native Apps and Websites for best UXCreating Receipt Sharing Functionality in a Flutter Fintech AppEnhancing Animation Experience in React Native with Context APIBest React Native Navigation LibrariesUnlocking improved Flutter performance; a case for KeysIn our relatively new section captures internet jibber-jabber about the mobile ecosystem:We're forking Flutter. This is whyApple is Killing SwiftApple unveils the new iMac with M410 years of 20248The fediverse is getting its own TikTok competitor called LoopsToday's news covers release stories on Apple, Android, and JetBrains. And if you are currently developing an iOS app, checkout this week's resources on iOS tools. Don’t miss this week’s tutorial from the book ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ .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 installment in our new series,fill in our survey below andwin a free PDF on your Packt account.Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, PacktMobile App Dev Community SpeakWhat are Mobile developers discussing? What are the latest tips and tricks? Shortcuts and experiments? Cool tutorials? Releases and updates? Find it all out here.How to Create the Carousel UIKit in Swift: A Step-by-Step Guide - TheCarousel-UIKproject is an example of a user interface component developed in Swift, designed to create a carousel for images or any other visual content. In this article, we will guide you through the steps to create the Carousel-UIK in Swift.PWAs vs. Native Apps and Websites for best UX - As the digital landscape grows, businesses and developers face the challenge of choosing between Progressive Web Apps (PWAs), native apps, and traditional websites. Each has its advantages and challenges, and understanding these can guide the best choice for different user and business needs. This article explores the key aspects of each, including compatibility, cost, accessibility, and user engagement, to help clarify when each approach is most effective.Creating Receipt Sharing Functionality in a Flutter Fintech App - In today's digital landscape, sharing transaction receipts effortlessly is crucial for any fintech application. Users often need to share transaction details for various reasons, and implementing a receipt-sharing feature can greatly enhance their experience. In this article, we'll explore how to create this functionality in a Flutter app using the screenshot package to capture receipt widgets as images.Enhancing Animation Experience in React Native with Context API - Creating a dynamic user experience in mobile applications often involves making components react to the user’s scroll behavior. From hiding headers when scrolling down to providing a floating scroll-to-top button and applying smooth fade effects, these interactions enhance usability and create a modern feel. In this guide, we’ll walk through building a centralized scroll management system in React Native usingFlatList,react-native-reanimated, and context. We’ll implement the following features: An animated header that hides on scroll and a floating scroll-to-top button that appears when the user scrolls down.Best React Native Navigation Libraries - When building a React Native app, choosing the right navigation library is crucial for ensuring a smooth and intuitive user experience. This article features some of the best navigation libraries for React Native, each with its strengths and use cases.Unlocking improved Flutter performance; a case for Keys - The simple act of adding keys to widgets improved performance by: helping theFlutter Engineassociate a specific identifier, to theelementconfigured by the widget in the element tree during traversal; thereby preventing unnecessary rebuilds if not marked for a build; and key essentiallymemoiseswidget rendering under the right circumstances. This blogpost highlights the importance of keys to flutter widgets, proving them to be key performance improvement tools. The repository containing the refactor resideshere.Mobile App Dev ReposCheck this space for new repos, projects and tools each week! This week we bring you a collection of iOS tools for media processing:HaishinKit.swift- Camera and Microphone streaming library via RTMP, HLS for iOS, macOS.StreamingKit- A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS.Jukebox- Player for streaming local and remote audio files. Written in Swift.LFLiveKit- H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate.Airstream- A framework for streaming audio between Apple devices using AirPlay.OTAcceleratorCore- A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox.Trending TitlesOur weekly recommendations of the best resources in Mobile App Development!Featured: Responsive Web Design with HTML5 and CSSIf you’re tired of static websites that just don’t perform, it’s time to upgrade your skills with Responsive Web Design with HTML5 and CSS—a self-paced course designed to turn you into a responsive web design pro led by Ben Frain, the author of the best-selling book Responsive Web Design with HTML5 and CSS, 4th Edition!With over 20 years of experience in web development, Ben Frain—currently the UI-UX Technical Lead at bet365—guides you through key techniques to help you build fully responsive websites using HTML5 and CSS.Watch the 'Responsive Web Design with HTML5 and CSS' Video Now!Swift CookbookBuy eBook now at $35.99 $24.99Mastering Kotlin for Android 14Buy eBook now at $31.99 $21.99Thriving in Android Development Using KotlinBuy eBook now at $35.99 $24.99Internet Jibber-JabberRandom curious musings and interesting words about Mobile Dev on the Internet.We're forking Flutter. This is why - Over the years, Flutter has attracted millions of developers who built user interfaces across every platform. Flutter began as a UI toolkit for mobile - iOS and Android, only. Then Flutter added support for web. Finally, Flutter expanded to Mac, Windows, and Linux. Across this massive expansion of scope and responsibility, the Flutter team has only marginally increased its size. To help expand Flutter's available labor, and accelerate development, we're creating a fork of Flutter, called Flock.Apple is Killing Swift - Swift was a great language, but it has fallen far from its original vision. Pretty damn far. Today, we’re going to learn how modern programming languages are governed. I’ll explain how Swift’s dictatorial structure is uniquely terrible, and demonstrate to you how bad the situation has become.Apple unveils the new iMac with M4 – Welcome the new Mac, supercharged by AppleIntelligence and available in fresh colors. The world’s best all-in-one desktop features even more performance, a nano-texture display option, a 12MP Center Stage camera, and Thunderbolt 4 connectivity — all in a strikingly thin design.10 years of 20248 - 2048is a simple yet addictive puzzle game where you slide numbered tiles on a board to merge them. The goal is to create a tile with the number 2048. If you run out of moves, the game ends. You can play 2048 in your browser, on your phone, or on your tablet. It’s easy to pick up but challenging to master. How far can you get? play2048.co(formerlygabrielecirulli.github.io/2048) is where 2048 first launched on March9,2014, featuring the original version of the game. It now hosts a completely new version of 2048, built by the original creator, Gabriele Cirulli.The fediverse is getting its own TikTok competitor called Loops - Similar to howMastodonoffers an open source, distributed version of X, the fediverse is getting its own TikTok competitor. This week, an app calledLoopsbegan accepting signups on its new platform for sharing short, looping videos. Still in the early stages, Loops is not yet open sourced, nor has it completed its integration with ActivityPub, the protocol that powers Mastodon, Pixelfed, PeerTube, and other federated apps. Mobile App Development TutorialAn excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. PriceTargeting a named methodLet’s define a method that only includes names that are longer than four characters:InProgram.Functions.cs, add a method that will returntrueonly for names longer than four characters, as shown in the following code:static bool NameLongerThanFour(string name){// Returns true for a name longer than four characters.return name.Length > 4;}In theFilteringUsingWheremethod, pass the method’s name into theFunc<string, bool>delegate, as shown highlighted in the following code:var query = names.Where(new Func<string, bool>(NameLongerThanFour));In theFilteringUsingWheremethod, add statements to enumerate thenamesarray usingforeach, as shown in the following code:foreach (string item in query){WriteLine(item);}InProgram.cs, comment out the call toDeferredExecutionand then passnamesas an argument to theFilteringUsingWheremethod, as shown in the following code:// DeferredExecution(names);FilteringUsingWhere(names);Run the code and view the results, noting that only names longer than four letters are listed, as shown in the following output:MichaelDwightAngelaKevinCreedRead the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!What's Happening in Mobile Development?Your dose of the latest releases, news and happenings in the Mobile Development industry!AppleApple’s new MacBookPro features the incredibly powerful M4 family of chips and ushers in a new era with AppleIntelligence - Apple today unveiled the newMacBook Pro, powered by the M4 family of chips — M4, M4 Pro, and M4 Max — delivering much faster performance and enhanced capabilities. The new MacBook Pro is built for Apple Intelligence, the personal intelligence system that transforms how users work, communicate, and express themselves, while protecting their privacy.With an advanced 12MP Center Stage camera, Thunderbolt5 on M4Pro and M4Max models, and an all-new nano-texture display option, MacBookPro gets even more capable and even more proAndroidKotlin Multiplatform for sharing business logic across Android and iOS - To make it easier for you to leverage KMP in your apps, we’ve been working on migrating many of our Jetpack libraries to take advantage of KMP. For example, Lifecycle, ViewModel, and Paging are KMP compatible libraries. Meanwhile, libraries like Room, DataStore, and Collections have KMP support, so they work out-of-the-box on Android and iOS. We’ve also added a new template to Android Studio so you can add a shared KMP module to your existing Android app and begin sharing business logic across platforms.Kickstart your Kotlin Multiplatform journey with this comprehensive guide.Updates to power your growth on Google Play - we’re excited to share the latest product updates to help your business thrive. We’re sharing new ways to grow your audience, optimize revenue, and protect your business in an ever-evolving digital landscape. These updates help you in growing your audience with enhanced discovery features, optimizing your revenue with Google Play Commerce and protecting your business with the Play Integrity APIMore frequent Android SDK releases: faster innovation, higher quality and more polish - Android has always worked to get innovation into the hands of users faster. In addition to our annual platform releases, we’ve invested inProject Treble,Mainline,Google Play services, monthly security updates, and the quarterly releases that help power Pixel Drops. Going forward, Android will have more frequent SDK releases with two releases planned in 2025 with new developer APIs. These releases will help to drive faster innovation in apps and devices, with higher stability and polish for users and developers.Gemini in Android Studio, now helping you across the development lifecycle - AI can accelerate your development experience, and help you become more productive. That's why we introducedGemini in Android Studio, your AI-powered coding companion. It’s designed to make it easier for you to build high quality Android apps, faster. Today, we're releasing the biggest set of updates to Gemini in Android Studio since launch, and now Gemini brings the power of AI to every stage of the development lifecycle, directly within the Android Studio IDE experience. And for more updates on how to grow your apps and games businesses, check out the latest updates fromGoogle Play.JetBrainsKtor 3.0: New Features and Improved Performance– This blog post will give you a solid overview of what’s new and improved in Ktor 3.0.Compose Multiplatform 1.7.0 Released– Learn more about the release, which brings type-safe navigation, enhanced performance on iOS, and added support for drag-and-drop on desktop platforms.The Evolution of the Kotlin Language and How You Can Contribute– Find out how the Kotlin Evolution and Enhancement Process (KEEP) works and what you can do to contribute to the further development of the language.And that’s a wrap.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! *{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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 7819

Apurva Kadam
30 Oct 2024
Save for later

MobilePro #159: Meet Flock, Appium vs. XCTest (UI) for iOS App Testing, Web Page Responsiveness, FTC's rule banning fake online reviews, Swarm, DeskPad.

Apurva Kadam
30 Oct 2024
Mobile development blogs, tutorials and resources inside!Advertise with Us|Sign Up to the Newsletter @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }MobilePro #159: Meet Flock, Appium vs. XCTest (UI) for iOS App Testing, Web Page Responsiveness, FTC's rule banning fake online reviews, Swarm, DeskPad.Hi ,Welcome to the mobile app development world with the 158th edition of _mobilepro!In this edition we cover mobile development community discussions on:Stop Relying on MediaQuery for Sizing in Flutter! Here's What to Use InsteadFlutter is Getting a Makeover! Meet Flock12 Top Flutterflow App Development Agencies for Any Use CaseA Guide to Choosing Between Appium and XCTest (UI) for iOS App TestingHow to fix the error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR insteadHow to make your Web Page ResponsiveIn our relatively new section captures internet jibber-jabber about the mobile ecosystem:FTC's rule banning fake online reviews goes into effectSwarmDeskPadThe Internet Archive is under attack, with a breach revealing info for 31 million accountsGroupTrack - Stay connected, Anywhere!Today's news covers release stories on Apple, Android, React Native, JetBrains and Microsoft. And if you are currently developing an iOS app, checkout this week's resources on iOS tools. Don’t miss this week’s tutorial from the book ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ .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 installment in our new series,fill in our survey below andwin a free PDF on your Packt account.Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, PacktMobile App Dev Community SpeakWhat are Mobile developers discussing? What are the latest tips and tricks? Shortcuts and experiments? Cool tutorials? Releases and updates? Find it all out here.Stop Relying on MediaQuery for Sizing in Flutter! Here's What to Use Instead - MediaQuery is not the best tool for responsive design in Flutter. Actually, it's far from it. I know, it’s tempting to scale widgets based on the percentage of screen size and call it a day. But using MediaQuery for sizing, while seemingly simple, is a slippery slope that often leads to weird and problematic layouts. Unfortunately, many beginners fall into the trap of using fractional sizing because it seems like an easy solution at first. But if you’re serious about creating responsive apps, it’s time to reconsider how you approach this.Flutter is Getting a Makeover! Meet Flock, the New Community-Driven Framework Set to Change Everything - Flutter has empowered millions of developers to build seamless, cross-platform apps, but as demand grows, cracks are beginning to show. Despite its popularity, the Flutter team is stretched too thin, facing backlogs that can leave bugs and feature requests unresolved for too long. This bottleneck frustrated users across the community and led to the birth of a new solution: Flock — a fork of Flutter developed by the community for the community. Flock represents a community-driven effort to overcome the limitations Flutter currently faces. With a more agile review process, enhanced support, and a welcoming approach to contributions, Flock aims to provide a more responsive alternative to Flutter, shaped by those who use it the most.12 Top Flutterflow App Development Agencies for Any Use Case - This article is intended for everyone interested in Flutterflow app development. It will help you navigate this market segment and provide insights on how to choose the right partner for bringing your project to life. I will give a detailed overview of the top agencies specializing in Flutterflow app development and what makes them unique.A Comprehensive Guide to Choosing Between Appium and XCTest (UI) for iOS App Testing - Popular testing frameworks for iOS apps with distinctive features and functionalities include Appium and XCTest (UI). For developers and testers, choosing which one to employ might be a difficult process. This blog highlights the comparison between Appium and XCTest (UI) and helps you choose the right tool for your iOS app testing needs. The blog also details the features, pros, and cons of each framework and provides insights into which one is best suited for different types of iOS app testing scenarios.How to fix the error: DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead - In Xcode 15, Apple made a modification to the variable that points to the default toolchain location, replacing from $DT_TOOLCHAIN_DIR to $TOOLCHAIN_DIR. If your project or target relies on the previous variable, you should update it to use $TOOLCHAIN_DIR. To perform this replacement, you can add the following code snippet at the end of your project’s Podfile. This error was on a MacOS v14 (Sonoma), XCode 15.4, Swift 5.0 regarding the Firebase and Firebase Analytics Pods.How to make your Web Page Responsive - A good well-designed responsive web page makes sure that the user has an optimal view experience and a uniform user experience irrespective of the device the user is using. Responsiveness not only enhances the user experience but also plays a major role in the SEO ranking of the website. And when it comes to adding responsiveness, the first thing that comes in mind is the media queries. In this blog, we will go through what are media queries, and how you can use them to make your web page responsive.Mobile App Dev ReposCheck this space for new repos, projects and tools each week! This week we bring you a collection of iOS tools for media processing:PSPDFKit- Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures.TPPDF- Generate PDF using commands and automatic layout.FastPdfKit- A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF.UIImagePlusPDF- UIImage extensions to simply use PDF files.Trending TitlesOur weekly recommendations of the best resources in Mobile App Development!Featured: Responsive Web Design with HTML5 and CSSIf you’re tired of static websites that just don’t perform, it’s time to upgrade your skills with Responsive Web Design with HTML5 and CSS—a self-paced course designed to turn you into a responsive web design pro led by Ben Frain, the author of the best-selling book Responsive Web Design with HTML5 and CSS, 4th Edition!With over 20 years of experience in web development, Ben Frain—currently the UI-UX Technical Lead at bet365—guides you through key techniques to help you build fully responsive websites using HTML5 and CSS.Watch the 'Responsive Web Design with HTML5 and CSS' Video Now!Swift CookbookBuy eBook now at $35.99 $24.99Mastering Kotlin for Android 14Buy eBook now at $31.99 $21.99Thriving in Android Development Using KotlinBuy eBook now at $35.99 $24.99Internet Jibber-JabberRandom curious musings and interesting words about Mobile Dev on the Internet.FTC's rule banning fake online reviews goes into effect - A federal rulebanning fake online reviewsis now in effect. The Federal Trade Commissionissued the rulein August banning the sale or purchase of online reviews. The rule, which went into effect Monday, allows the agency to seek civil penalties against those who knowingly violate it.Swarm- An educational framework exploring ergonomic, lightweight multi-agent orchestration managed by OpenAI Solution team. Swarm is currently an experimental sample framework intended to explore ergonomic interfaces for multi-agent systems. It is not intended to be used in production, and therefore has no official support. (This also means we will not be reviewing PRs or issues!) The primary goal of Swarm is to showcase the handoff & routines patterns explored in theOrchestrating Agents: Handoffs & Routinescookbook. It is not meant as a standalone library, and is primarily for educational purposes.DeskPad – DeskPad is a virtual monitor for screen sharing. Certain workflows require sharing the entire screen (usually due to switching through multiple applications), but if the presenter has a much larger display than the audience it can be hard to see what is happening. DeskPad creates a virtual display that is mirrored within its application window so that you can create a dedicated, easily shareable workspace.The Internet Archive is under attack, with a breach revealing info for 31 million accounts - A pop-up message said the online archive has suffered ‘a catastrophic security breach,’ as its operators say the site has been DDoS’d for days. HIBP refers toHave I Been Pwned, a website where people can look up whether their information has been published in data leaked from cyberattacks. HIBP operator Troy Huntconfirmed toBleepingComputerthat he received a file containing “email addresses, screen names, password change timestamps, Bcrypt-hashed passwords, and other internal data” for 31 million unique email addresses nine days ago and confirmed it was valid by matching data with a user’s account.GroupTrack - Stay connected, Anywhere! - Welcome to GroupTrack, an open-source Flutter application designed to enhance family safety 👫 through real-time location sharing and communication features. GroupTrack aims to provide peace of mind by ensuring the safety of your loved ones while facilitating seamless communication regardless of their location. GroupTrack adopts a declarative UI approach with Flutter and utilizesflutter riverpodfor state management. This architecture promotes a clear separation of concerns, making the codebase more maintainable, scalable, and testable. Flutter’s widget-based system allows for the creation of highly responsive UIs, while flutter riverpod ensures efficient state handling across different components, leading to a smooth and intuitive user experience. Mobile App Development TutorialAn excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. PriceDeleting entitiesYou can remove individual entities with theRemovemethod.RemoveRangeis more efficient when you want to delete multiple entities.Let’s see how to delete rows from a table:InProgram.Modifications.cs, add a method to delete all products with a name that begins with a specified value (Bobin our example), as shown in the following code:private static int DeleteProducts(string productNameStartsWith){using NorthwindDb db = new();IQueryable<Product>? products = db.Products?.Where(p => p.ProductName.StartsWith(productNameStartsWith));if (products is null || !products.Any()){WriteLine("No products found to delete.");return 0;}else{if (db.Products is null) return 0;db.Products.RemoveRange(products);}int affected = db.SaveChanges();return affected;}InProgram.cs, comment out the statements to update the product, and then add statements to callDeleteProducts, as shown in the following code:WriteLine("About to delete all products whose name starts with Bob.");Write("Press Enter to continue or any other key to exit: ");if (ReadKey(intercept: true).Key == ConsoleKey.Enter){int deleted = DeleteProducts(productNameStartsWith: "Bob");WriteLine($"{deleted} product(s) were deleted."); } else { WriteLine("Delete was canceled.");}Run the code, pressEnter, and view the result, as shown in the following partial output:1 product(s) were deleted.If multiple product names started withBob, then they would all be deleted. As an optional challenge, modify the statements to add three new products that start withBoband then delete them.Read the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!What's Happening in Mobile Development?Your dose of the latest releases, news and happenings in the Mobile Development industry!AppleApple’s all-new Macmini is more mighty, more mini, and built for AppleIntelligence - Apple today unveiled the all-newMac minipowered by the M4 and new M4 Pro chips, and redesigned around Apple silicon to pack an incredible amount of performance into an even smaller form of just 5 by 5 inches. With M4, Mac mini delivers up to 1.8x faster CPU performance and 2.2x faster GPU performance over the M1 model.1Apple Intelligence is availabletoday on iPhone, iPad, andMac - Users can now tap into Apple Intelligence to refine their writing; summarize notifications, mail, and messages; experience a more natural and capable Siri; remove distracting objects from images with Clean Up; and moreAndroidCompose Runtime 1.7.0enhances composition locals with computed defaults, optimizes state object accessibility and composable function generation, and improves lambda invalidation and callback ordering.Compose Material 3 Adaptive 1.0.0provides tools and components to build adaptive Android UIs for different screen sizes and devices.Compose Material 1.7.0stabilizes BottomDrawer, ModalBottomSheet, and BackdropScaffold components, migrates to new ripple APIs, and improves performance by optimizing MutableInteractionSource usage.Compose Foundation 1.7.0significantly boosts performance in key modifiers, introduces a new Indication API for efficiency, refines clickable components, and adds new features for text, layout, and animations.Compose Animation 1.7.0introduces new shared element transition APIs for smoother animations, improves existing APIs with features like custom content alignment and deferred target animation, and stabilizes several APIs including AnimatedVisibilityScope and LookaheadScope.Collection 1.4.3enhances performance, particularly for ScatterMap and ScatterSet, and addresses a data corruption bug in those collections.Camera 1.5.0-alpha01introduces new APIs for dual camera video capture configuration and audio control in recordings, along with bug fixes for crashes and black screen issues.Media3 1.4.1addresses various issues, including handling preload callbacks asynchronously, allowing playback even with loading failures, fixing errors in MP3 and TTML handling, resolving DRM issues on API 31+ devices, and improving media control and session management.JetBrainsIDE Services Cloud Release and Floating License Server End-of-Life Announcements - JetBrains IDE Services, the enterprise suite of products dedicated to improving developer productivity across an entire organization, is now available in the cloud! By offering a JetBrains-managed service, IDE Services Cloud simplifies license management, enhances security, and provides seamless scalability, ensuring that organizations can focus more on development and less on administration.MicrosoftIntroducing Microsoft.Extensions.VectorData Preview - We are excited to introduce the Microsoft.Extensions.VectorData.Abstractions library, now available in preview. Just as theMicrosoft.Extensions.AI librariesoffer a unified layer for working with AI services, this package provides the .NET ecosystem with abstractions that help integrate vector stores into .NET applications and libraries.And that’s a wrap.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! *{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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 6404

Apurva Kadam
24 Oct 2024
Save for later

MobilePro #158: Internet Archive breached again, Snapdragon 8, Apple AirPods Pro, Civet, Inspect Element on an Android App, OTF vs TTF, Appium Testing.

Apurva Kadam
24 Oct 2024
Mobile development blogs, tutorials and resources inside!Advertise with Us|Sign Up to the Newsletter @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }MobilePro #158: Internet Archive breached again, Snapdragon 8, Apple AirPods Pro, Civet, Inspect Element on an Android App, OTF vs TTF,Appium Testing.Hi ,Welcome to the mobile app development world with the 158th edition of _mobilepro!In this edition we cover mobile development community discussions on:Is One the Future of Web and Mobile Development?How to Inspect Element on an Android App (Actual App, not Web)OTF vs TTF: Best Font Format for Flutter App DevelopmentUsing Firebase Cloud Messaging (FCM) for Push Notifications in PHPWhat Is Appium Testing? And Why Is It A Popular Tool For Mobile TestingIn our relatively new section captures internet jibber-jabber about the mobile ecosystem:Internet Archive breached again through stolen access tokensSnapdragon 8 Elite Mobile PlatformApple’s AirPods Pro hearing health features are as good as they soundCivet: A Programming Language for the New MilleniumEvery week we recommend mobile app development resources, and this week we feature:1. Swift Cookbook2. Mastering Kotlin for Android 143.Thriving in Android Development Using KotlinToday's news covers release stories on Apple, Android, React Native, JetBrains and Microsoft. And if you are currently developing an iOS app, checkout this week's resources on iOS tools. Don’t miss this week’s tutorial from the book ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ .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 installment in our new series,fill in our survey below andwin a free PDF on your Packt account.Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, PacktMobile App Dev Community SpeakWhat are Mobile developers discussing? What are the latest tips and tricks? Shortcuts and experiments? Cool tutorials? Releases and updates? Find it all out here.Is One the Future of Web and Mobile Development? - Lately, I’ve discovered there’sOne—no, not the meaning of life or the perfect coffee blend—but another framework in the endless ocean of JavaScript and React tools. I know what you’re thinking, "Oh great, another framework?" But hang with me—this one is worth your attention, and no, I’m not just saying that because it’s shiny and new.Onemight actually make your life as a developer a whole lot easier. One, a universal framework that supports both web and mobile development. And get this—it’s built on Vite (no more Metro headaches) and introduces universal typed file-based routing, kind of like Remix but better suited for modern needs.How to Inspect Element on an Android App (Actual App, not Web) - If you've ever thought, "How do I inspect an Android app the same way I do with websites?" – you're in the right place. Let's break it down, step by step, foreveryone. Although these steps will show you how to inspect elements on an app, keep in mind that this only works for apps that you own or have access to their source code.OTF vs TTF: Best Font Format for Flutter App Development - A well-designed font plays a vital role in the development of an application because usability and appearance heavily depend on it. The right selection of format for your fonts is important as it may make or break the readability of your application or significantly affect user experience. Understanding the differences between these formats is essential for developers who want to optimize both performance and aesthetics in their apps. In this blog, we’ll compare OTF and TTF fonts, exploring their features, advantages, and how to choose the right one for your Flutter project.Using Firebase Cloud Messaging (FCM) for Push Notifications in PHP - Push notifications are an essential tool for engaging users and keeping them informed about updates, messages, and other important events. Firebase Cloud Messaging (FCM) is a cross-platform solution that allows you to send notifications to web, Android, and iOS devices for free. In this guide, we'll use thelkaybob/php-fcm-v1package to set upFCMand send push notifications with PHP.What Is Appium Testing? And Why Is It A Popular Tool For Mobile Testing - Automation tools like Appium empower development teams to minimize errors and amplify productivity in software development. Appium is an outstanding open-source tool that aims to simplify UI automation across diverse app platforms. In this exploration, we will highlight the advantages of Appium 2.0 migration, highlighting its state-of-the-art features and improvements that enhance UI automation across various platforms.Mobile App Dev ReposCheck this space for new repos, projects and tools each week! This week we bring you a collection of iOS tools for media processing:Reader- PDF Reader Core for iOS.UIView 2 PDF- PDF generator using UIViews or UIViews with an associated XIB.FolioReaderKit- A Swift ePub reader and parser framework for iOS.PDFGenerator- A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s).SimplePDF- Create a simple PDF effortlessly.Trending TitlesOur weekly recommendations of the best resources in Mobile App Development!Swift CookbookBuy eBook now at $35.99 $24.99Mastering Kotlin for Android 14Buy eBook now at $31.99 $21.99Thriving in Android Development Using KotlinBuy eBook now at $35.99 $24.99Internet Jibber-JabberRandom curious musings and interesting words about Mobile Dev on the Internet.Internet Archive breached again through stolen access tokens - The Internet Archive was breached again, this time on their Zendesk email support platform after repeated warnings that threat actors stole exposed GitLab authentication tokens. Since last night, BleepingComputer has received numerous messages from people who received replies to their old Internet Archive removal requests, warning that the organization has been breached as they did not correctly rotate their stolen authentication tokens.Snapdragon 8 Elite Mobile Platform - The Snapdragon®8 Elite Mobile Platform represents the pinnacle of Snapdragon innovation—our industry-leading mobile platform. With Qualcomm Oryon™ CPU debuting in our mobile roadmap, we are delivering unprecedented performance. This significance deserves a new, special, most premium variant of our leading 8 series—Snapdragon 8 Elite.The open-source AI assistant for work - We are an open and extensibleChatGPT Teams alternative.We work with any Large Language Model, on the infra of your choice, and help you cut subscription costs by up to 82%.Apple’s AirPods Pro hearing health features are as good as they sound - Apple announced a trio of major new hearing health features for the AirPods Pro 2 in September, including clinical-grade hearing aid functionality, a hearing test, and more robust hearing protection. All three will roll out next week with the release of iOS 18.1, and theycould mark a watershed momentfor hearing health awareness. Apple is about to instantly turn the world’s most popular earbuds into an over-the-counter hearing aid.Civet: A Programming Language for the New Millenium - Civetis a programming language that compiles toTypeScriptorJavaScript, so you canuse existing tooling(including VSCode type checking, hints, completion, etc.) while enabling concise and powerful syntax. It starts with99% JS/TS compatibility, making it easy to transition existing code bases. Then it adds many features and syntactic sugar, with some highlights below and more comprehensive examples in thereference. See also Civet'sdesign philosophyandchangelog. Mobile App Development TutorialAn excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. PriceInserting entitiesLet’s start by looking at how to add a new row to a table:In theWorkingWithEFCoreproject, add a new class file namedProgram.Modifications.cs.InProgram.Modifications.cs, create a partialProgramclass with a method namedListProductsthat outputs the ID, name, cost, stock, and discontinued properties of each product, sorted with the costliest first, and highlights any that match an array ofintvalues that can be optionally passed to the method, as shown in the following code:using Microsoft.EntityFrameworkCore; // To use ExecuteUpdate, ExecuteDelete.using Microsoft.EntityFrameworkCore.ChangeTracking; // To use EntityEntry<T>.using Northwind.EntityModels; // To use Northwind, Product.partial class Program{ private static void ListProducts(int[]? productIdsToHighlight = null){using NorthwindDb db = new();if (db.Products is null || !db.Products.Any()){Fail("There are no products."); return; }WriteLine("| {0,-3} | {1,-35} | {2,8} | {3,5} | {4} |", "Id", "Product Name", "Cost", "Stock", "Disc."); foreach (Product p in db.Products){ConsoleColor previousColor = ForegroundColor;if (productIdsToHighlight is not null &&productIdsToHighlight.Contains(p.ProductId)){ForegroundColor = ConsoleColor.Green; }WriteLine("| {0:000} | {1,-35} | {2,8:$#,##0.00} | {3,5} | {4} |", p.ProductId, p.ProductName, p.Cost, p.Stock, p.Discontinued);ForegroundColor = previousColor;}}}Remember that{1,-35}means left-align argument 1 within a 35-character-wide column, and{3,5}means right-align argument 3 within a 5-character-wide column.Read the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!What's Happening in Mobile Development?Your dose of the latest releases, news and happenings in the Mobile Development industry!AppleThe new iPad mini is availabletoday - Beginning today, the ultraportable newiPad mini, powered by the A17 Pro chip and built for Apple Intelligence, is now available. Starting at just $499 with double the storage of the previous generation, the new iPad mini delivers incredible value and the full iPad experience in an ultraportable design.Apple expands tools to help businesses connect with customers - For the first time, businesses of all sizes around the world — even those without a brick-and-mortar presence — can manage the way they appear to over 1 billion Apple users usingApple Business Connect. Any verified business can now create a consistent brand and location presence across apps that customers use every day, including Apple Maps, Wallet, and Mail.Apple celebrates 10 years of Apple Pay - Jennifer Bailey, Apple’s vice president of ApplePay and AppleWallet, reflects on a decade of ApplePay enriching users’ lives, and shares new ways to pay with ApplePay, including rewards and installments.AndroidCameraX update makes dual concurrent camera even easier - Starting with1.5.0-alpha01, CameraX will now handle the composition of the 2 camera streams as well. This update is additional functionality, and it doesn’t remove any prior functionality nor is it a breaking change to your existing Dual Concurrent Camera code. To tell CameraX to handle the composition, simply use thenewSingleCameraConfigconstructorwhich has a new parameter for aCompositionSettingsobject. Since you’ll be creating 2 SingleCameraConfigs, you should be consistent with what constructor you use. Nothing has changed in the way you check for concurrent camera support from the prior version of this feature.Chrome on Android to support third-party autofill services natively - Chrome on Android will soon allow third-party autofill services (like password managers) to natively autofill forms on websites. Developers of these services need to tell their users to toggle a setting in Chrome to continue using their service with Chrome.Android Studio Ladybug Feature Drop | 2024.2.2 Canary 7 now available - Android Studio Ladybug Feature Drop | 2024.2.2 Canary 7 is now available in the Canary channel. If you already have an Android Studio build on theCanary channel, you can get the update by clickingHelp>Check for Updates(orAndroid Studio>Check for Updateson macOS). Otherwise, you candownload it here.JetBrainsIntroducing Mellum: JetBrains’ New LLM Built for Developers - JetBrains launches Mellum, a proprietary large language model (LLM) specifically designed to assist software developers. Currently available only withJetBrains AI Assistant, Mellum provides faster, smarter, and more contextually aware cloud code completion.React Native React Native 0.76: New Architecture by default, React Native DevTools, and more – The release of React Native 0.76 is here! This is a major milestone for React Native, as we’re enabling the New Architecture by default, and we’re introducing React Native DevTools. This has been the culmination of 6 years of hard work from our team, together with the support of our incredible community of developers.New Architecture is here - React Native 0.76 with the New Architecture by default is now available on npm! In the0.76 release blog post, we shared a list of significant changes included in this version. In this post, we provide an overview of the New Architecture and how it shapes the future of React Native.Microsoft.NET Conf 2024 Student Zone - We are excited to announce the return of the .NET Conf Student Zone at this year’s.NET Conf 2024. The Student Zone is a beginner-friendly, virtual event where experts will teach you how to build amazing projects – all using C# and .NET! This year, our experts will walk you through building a portfolio web application and an AI demo project. We’ll also be talking all about career readiness with hiring managers, recruiters, early-in-career engineers, and more! This year, we’re running the event twice to reach you in your time zone. Tune in November 18 at 4:00pm UTC or November 19 at 4:00am UTC!.NET MAUI Welcomes Syncfusion Open-source Contributions - Syncfusion announced theirdedication as contributors to .NET MAUIand released theSyncfusion Toolkit for .NET MAUI, a set of free, open-source controls for .NET MAUI! Syncfusion is a leader in UI controls and components and have some impressive controls for .NET. Today they made 14 of these UI controls freely available for .NET MAUI developers. These controls are available in thesyncfusion/maui-toolkitrepository on GitHub as well as a NuGet packageSyncfusion.Maui.Toolkitwhich you can use in your .NET MAUI projects today.And that’s a wrap.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! *{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{line-height:0;font-size:75%}#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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 6788
Apurva Kadam
16 Oct 2024
Save for later

MobilePro #157: SOLID Principles in TypeScript Framework, KMP for Mobile Development, Mobile Website vs App, Android Virtualization Framework, Drawing Graphics on Apple Vision.

Apurva Kadam
16 Oct 2024
Mobile development blogs, tutorials and resources inside!Advertise with Us|Sign Up to the Newsletter @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }Notion for StartupsThousands of startups use Notion as a connected workspace to create and share docs, take notes, manage projects, and organize knowledge—all in one place.We’re offering 6 months of new Plus plans, including unlimited Notion AI so you can try it all for free!Redemption InstructionsTo redeem the Notion for Startups offer:1. Submit an application using our custom link:https://ntn.so/packtand selectPackton the partner list.2. Include our partner key,STARTUP4110P19151.Free 6-Month Notion Plus Acess! Just Use Our Packt Partner Key!MobilePro #157: SOLID Principles in TypeScript Framework, KMP for Mobile Development, Mobile Website vs App, Android Virtualization Framework, Drawing Graphics on Apple Vision.Hi ,Welcome to the mobile app development world with the 155th edition of _mobilepro!In this edition we cover mobile development community discussions on:Applying SOLID Principles in JavaScript and TypeScript Framework10 Reasons to Choose KMP for Mobile DevelopmentMobile Website vs App: Key DifferencesFlutter vs. React Native: Selecting the Right Framework for Your ProjectTop AI Tools to Use in 2024 for Developers, Creators, and InnovatorsIn our relatively new section captures internet jibber-jabber about the mobile ecosystem:Android 16 will include a Terminal and full Linux VM support with GPU accelerationUnderstanding the Android Virtualization Framework (AVF)FIDO Alliance Working on Making Passkeys Portable Across PlatformsDrawing Graphics on Apple Vision with the Metal Rendering APILarge language models reduce public knowledge sharing on online Q&A platformsEvery week we recommend mobile app development resources, and this week we feature:1. Swift Cookbook2. Mastering Kotlin for Android 143.Thriving in Android Development Using KotlinToday's news covers release stories on Apple, Android, and JetBrains. And if you are currently developing an iOS app, checkout this week's resources on iOS tools. Don’t miss this week’s tutorial from the book ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ .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 installment in our new series,fill in our survey below andwin a free PDF on your Packt account.Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, PacktMobile App Dev Community SpeakWhat are Mobile developers discussing? What are the latest tips and tricks? Shortcuts and experiments? Cool tutorials? Releases and updates? Find it all out here.Applying SOLID Principles in JavaScript and TypeScript Framework - The SOLID principles form the foundation of clean, scalable, and maintainable software development. Though these principles originated in Object-Oriented Programming (OOP), they can be effectively applied in JavaScript (JS) and TypeScript (TS) frameworks like React and Angular. This article explains each principle with real-life examples in both JS and TS.10 Reasons to Choose KMP for Mobile Development - When it comes to mobile app development, efficiency and cost-effectiveness are key considerations for startups and businesses alike. Kotlin Multiplatform (KMP) offers a powerful solution to these challenges by allowing developers to share code across Android, iOS, and other platforms without compromising on performance or user experience. In this post, we will explore ten compelling reasons why KMP stands out as the go-to choice for modern mobile development projects.Mobile Website vs App: Key Differences - Organizations often struggle to decide whether to create a mobile app for users to download or a mobile website. A mobile website is accessed through web browsers, while mobile apps are downloaded from app stores. Both serve the same purpose but provide distinct user experiences. Choosing the best option between a website and an app depends on your target audience, available budget, intended purpose, and required features. Understanding the mobile website vs app difference is crucial for making informed decisions to better engage, connect, and serve users. This article highlights the differences.Flutter vs. React Native: Selecting the Right Framework for Your Project - In today's digital landscape, choosing the right framework for mobile app development is crucial. Flutter and React Native are two upfront framework options for building cross-platform and hybrid applications. Both offer different useful tools and have unique strengths. But which one is the best fit for your project? Let's examine their features, similarities, and differences and see how they align with today's development needs! Before starting let’s have a look at the definition of React Native and Flutter.Top AI Tools to Use in 2024 for Developers, Creators, and Innovators - AI technology has revolutionized how we approach creativity, development, and productivity. In 2024, the landscape is evolving even faster, offering cutting-edge tools that can supercharge your workflows, content creation, and technical development. In this blog post, we’re going to explore some of the most exciting AI tools for developers, creators, and anyone looking to leverage the power of artificial intelligence to be more effective, creative, and efficient. Here’s a roundup of the top AI tools to watch for in 2024.Mobile App Dev ReposCheck this space for new repos, projects and tools each week! This week we bring you a collection of iOS tools for media processing:SwiftOCR- Fast and simple OCR library written in Swift.QR Code Scanner- QR Code implementation.QRCode- A QRCode generator written in Swift.EFQRCode- A better way to operate two-dimensional code in Swift.NSFWDetector- A NSFW (aka porn) detector with CoreML.Trending TitlesOur weekly recommendations of the best resources in Mobile App Development!Swift CookbookBuy eBook now at $35.99 $24.99Mastering Kotlin for Android 14Buy eBook now at $31.99 $21.99Thriving in Android Development Using KotlinBuy eBook now at $35.99 $24.99Internet Jibber-JabberRandom curious musings and interesting words about Mobile Dev on the Internet.Android 16 will include a Terminal and full Linux VM support with GPU acceleration - Google is looking to offer a native Terminal app for Android, possibly with Android 16. The Terminal app will allow installation of a Linux VM with full GUI and GPU acceleration along with other sysadmin features including disk resizing, port forwarding, and partition recovery. This is an extension of Google's earlier project of allowing Chrome OS to run on Android using the Android Virtualization Framework.Understanding the Android Virtualization Framework (AVF) - As the complexity of mobile applications and the sensitivity of the data they handle increase, so does the need for robust security solutions. Enter theAndroid Virtualization Framework (AVF), a groundbreaking innovation designed to enhance security, efficiency, and flexibility in Android devices. In this blog post, we’ll explore AVF and how its key components work together to create a more secure mobile ecosystem.FIDO Alliance Working on Making Passkeys Portable Across Platforms - The FIDO Alliance is developing new specifications to enable secure transfer of passkeys between different password managers and platforms.Announced on Monday, the initiative is the result of collaboration among members of the FIDO Alliance's Credential Provider Special Interest Group, including Apple, Google, Microsoft, 1Password, Bitwarden, Dashlane, and othersDrawing Graphics on Apple Vision with the Metal Rendering API - When it comes to rendering, most opt for established game engines like Unity or Apple's high-level APIs like RealityKit. However, there's another option that's been available since the beginning: building your own rendering engine using the Metal API. Though challenging, this approach offers full control over the rendering pipeline, down to each byte and command submitted to the GPU on each frame. This blog covers helps you do just that!Large language models reduce public knowledge sharing on online Q&A platforms - Large language models (LLMs) are a potential substitute for human-generated data and knowledge resources. This substitution, however, can present a significant problem for the training data needed to develop future models if it leads to a reduction of human-generated content. In this work, we document a reduction in activity on Stack Overflow coinciding with the release of ChatGPT, a popular LLM. Mobile App Development TutorialAn excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. PriceEnabling lazy loadingLazy loading was introduced in EF Core 2.1, and it can automatically load missing related data. To enable lazy loading, developers must: Reference a NuGet package for proxies and Configure lazy loading to use a proxy.Let’s see this in action:In theWorkingWithEFCoreproject, add a package reference for EF Core proxies, as shown in the following markup:<PackageReference Version="8.0.0"Include="Microsoft.EntityFrameworkCore.Proxies" />Build theWorkingWithEFCoreproject to restore packages.InNorthwindDb.cs, at the bottom of theOnConfiguringmethod, call an extension method to use lazy loading proxies, as shown in the following code:optionsBuilder.UseLazyLoadingProxies();Now, every time the loop enumerates and an attempt is made to read theProductsproperty, the lazy loading proxy will check if they are loaded. If they’re not loaded, it will load them for us “lazily” by executing aSELECTstatement to load just that set of products for the current category, and then the correct count will be returned to the output.Run the code and note that the product counts are now correct. But you will see that the problem with lazy loading is that multiple round trips to the database server are required to eventually fetch all the data. For example, getting all the categories and then getting the products for the first category,Beverages, requires the execution of two SQL commands, as shown in the following partial output:dbug: 05/03/2022 13:41:40.221 RelationalEventId.CommandExecuting[20100] (Microsoft.EntityFrameworkCore.Database.Command)Executing DbCommand [Parameters=[], CommandType='Text', CommandTimeout='30']SELECT "c"."CategoryId", "c"."CategoryName", "c"."Description"FROM "Categories" AS "c"dbug: 05/03/2022 13:41:40.331 RelationalEventId.CommandExecuting[20100] (Microsoft.EntityFrameworkCore.Database.Command)Executing DbCommand [Parameters=[@__p_0='1'], CommandType='Text', CommandTimeout='30']SELECT "p"."ProductId", "p"."CategoryId", "p"."UnitPrice", "p"."Discontinued", "p"."ProductName", "p"."UnitsInStock"FROM "Products" AS "p"WHERE NOT ("p"."Discontinued") AND "p"."CategoryId" = @__p_0Beverages has 11 products. ...Read the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!What's Happening in Mobile Development?Your dose of the latest releases, news and happenings in the Mobile Development industry!AppleApple Unveils New iPad Mini With A17 Pro Chip and Apple Intelligence - Apple announceda significant upgrade to the iPad mini, now featuring an A17 Pro chip and support for the company's new Apple Intelligence system. The refreshed seventh-generation tablet maintains its compact 8.3-inch design while offering notable performance improvements and new capabilities.Apple debuts the first scripted film captured in Apple Immersive Video and reveals new immersive films for AppleVisionPro - New episodes, films, series, and concerts captured in AppleImmersiveVideo are set to debut later this year, with more coming early next year. Apple revealed new episodes, films, series, and music performances captured in Apple Immersive Video that will debut on Apple Vision Pro for free. Apple Immersive Video is a remarkable media format that leverages ultra-high-resolution 3D video and Spatial Audio to put viewers in the center of the action.AndroidCreating a responsive dashboard layout for JetLagged with Jetpack Compose - We’ve heard the news,creating adaptive layoutsin Jetpack Compose is easier than ever. As a declarative UI toolkit, Jetpack Compose is well suited for designing and implementing layouts that adjust themselves to render content differently across a variety of sizes. By using logic coupled withWindow Size Classes,Flow layouts,movableContentOfandLookaheadScope, we can ensure fluid responsive layouts in Jetpack Compose. Following the release of theJetLaggedsample at Google I/O 2023, we decided to add more examples to it. Specifically, we wanted to demonstrate how Compose can be used to create a beautiful dashboard-like layout. This article shows how we’ve achieved this.Adaptive Android Apps - With Android powering a diverse range of devices, usersexpecta seamless and optimized experience across their foldables, tablets, ChromeOS, andeven cars. To meet these expectations, developers need to build their apps with multiple screen sizes and form factors in mind. Changing how you approach UI can drastically improve users' experiences across foldables, tablets, and more, while preventing tech debt that a portrait-only mindset can create – simply put, building adaptive is a great way to help future-proof your app. The latest in our Spotlight Week series will focus onBuilding Adaptive Android appsall this week (October 14-18), and we’ll highlight the many ways you can improve your mobile app to adapt to all of these different environments.A new era of texting has begun - Now that Apple is starting to #GetTheMessage with its adoption of RCS, texting between Android and Apple devices is getting a whole lot better. With RCS, you can text the people you care about with ease and enjoy features like high-res photo and video sharing, typing indicators, and read receipts, regardless of whether they're using iMessage or Google Messages.Wear Compose 1.4.0adds default rotary input support for ScalingLazyColumn and Picker, introduces a new Modifier.rotaryScrollable for connecting rotary events, and includes entry animation for SwipeDismissableNavHost and default PositionIndicator display.Health Connect 1.0.0-alpha01release enables read and write access to user health and fitness data, with testing support through the jetpack library.Compose UI 1.7.0introduces significant enhancements like shared element transitions for smoother animations, Lazy list animations for enhanced visual appeal, and text formatting improvements, along with the Compose compiler being hosted in the Kotlin repository. More details on this blog written byBen Trengrove.JetBrainsJoin Us for JetBrains Plugin Developer Conf 2024 - JetBrains Plugin Developer Conf 2024, the first-ever virtual eventdedicated to plugin development for JetBrains products is here! We invite you to join us on Thursday, November 7 for a full day of engaging sessions and insightful discussions.Register now!And that’s a wrap.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! *{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{line-height:0;font-size:75%}#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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 6130

Apurva Kadam
11 Oct 2024
Save for later

MobilePro #156: Cloud Database on Flutter with Firebase, Detox or Appium, Fuzzing-101, Wi-Fi Goes Long Range, Google to open app store to competition.

Apurva Kadam
11 Oct 2024
Mobile development blogs, tutorials and resources inside!Advertise with Us|Sign Up to the Newsletter @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }Your cloud deserves dedicated data protection94% of cloud tenants were targeted last year, and 62% were successfully compromised.The hard truth is that organizations are having a hard time securing their cloud data—and cyberattackers are ready to exploit that challenge. Here’s a handy resource you’ll want with you as you map out your plan: Orchestrating the Symphony of Cloud Data Security.Download Now!MobilePro #156: Cloud Database on Flutter with Firebase, Detox or Appium, Fuzzing-101, Wi-Fi Goes Long Range, Google to open app store to competition.Hi ,Welcome to the mobile app development world with the 155th edition of _mobilepro!In this edition we cover mobile development community discussions on:Integration of Cloud Database on Flutter by using FirebaseIntegrating Native iOS Code with React Native Using Swift: A Comprehensive GuideReact Native in 2024 - Detox or Appium?Stop Using MediaQuery.of! Try These 15 More Efficient Alternatives InsteadMobile Technology Benefits: A Cornerstone of Digital ProgressIn our relatively new section captures internet jibber-jabber about the mobile ecosystem:Fuzzing-101TikTok’s parent launched a web scraper that’s gobbling up the world’s online data 25-times faster than OpenAIWi-Fi Goes Long Range on New WiLo ApproachServerlessAIJazzUS judge orders Google to open up app store to competition le from rival sources.Every week we recommend mobile app development resources, and this week we feature:1. Swift Cookbook2. Mastering Kotlin for Android 143.Thriving in Android Development Using KotlinToday's news covers release stories on Apple, Android, and Microsoft. And if you are currently developing an iOS app, checkout this week's resources on iOS tools. Don’t miss this week’s tutorial from the book ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ .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 installment in our new series,fill in our survey below andwin a free PDF on your Packt account.Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, PacktMobile App Dev Community SpeakWhat are Mobile developers discussing? What are the latest tips and tricks? Shortcuts and experiments? Cool tutorials? Releases and updates? Find it all out here.Integration of Cloud Database on Flutter by using Firebase - So many people still confused on how to intergrate firebase in 2024? This article is dedicated to uncovering how to intergrate our flutter in firebase.Integrating Native iOS Code with React Native Using Swift: A Comprehensive Guide - In the world of mobile application development, React Native has gained immense popularity due to its ability to build cross-platform apps with a single codebase. However, there may be situations where you need to access native iOS features that are not directly available in JavaScript. This is where integrating native iOS code using Swift comes into play. In this guide, we’ll explore the process of bridging React Native with native iOS code using Swift, allowing you to unlock the full potential of iOS functionalities in your React Native applications.React Native in 2024 - Detox or Appium? - In mobile application development, ensuring robust performance and functionality is paramount. React Native, a framework that helps build cross-platform mobile apps, demands rigorous testing to maintain quality. Among the various tools available, Detox and Appium are frequently debated for their effectiveness in React Native testing. This blog highlights the strengths and weaknesses of both tools, offering a comprehensive comparison to determine which is best suited for React Native in 2024.Stop Using MediaQuery.of! Try These 15 More Efficient Alternatives Instead - MediaQuery.of should no longer be a default tool in your Flutter toolbox. Why? Well, if you’ve been usingMediaQuery.of(context)religiously, you might be introducing unnecessary rebuilds into your app. This leads to inefficiencies that can slow down your app and cause performance hiccups, especially in complex UIs. Instead of falling into this trap, this blogpost shows you 15 more efficient alternatives that will streamline your code and optimize your app’s performance.Mobile Technology Benefits: A Cornerstone of Digital Progress - In today's digital landscape, the fusion of artificial intelligence (AI) and mobile technology is revolutionizing how we interact with our smartphones. This powerful combination is unlocking unprecedented mobile technology benefits, transforming our devices from mere communication tools into intelligent companions that enhance every aspect of our daily lives.Mobile App Dev ReposCheck this space for new repos, projects and tools each week! This week we bring you a collection of iOS tools for Images.ImageDetect- Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api.THTiledImageView- Provide ultra-high-quality images through tiling techniques.Harbeth - Metal API for GPU accelerated Graphics and Video and Camera filter frameworkGallery- Your next favorite image and video picker.Pixel- An image editor and engine using CoreImage.OnlyPictures- A simple and flexible way to add source of overlapping circular pictures.SFSafeSymbols- Safely access Apple's SF Symbols using static typing.Trending TitlesOur weekly recommendations of the best resources in Mobile App Development!Swift CookbookBuy eBook now at $35.99 $24.99Mastering Kotlin for Android 14Buy eBook now at $31.99 $21.99Thriving in Android Development Using KotlinBuy eBook now at $35.99 $24.99Internet Jibber-JabberRandom curious musings and interesting words about Mobile Dev on the Internet.Fuzzing-101 - Fuzz testing (or fuzzing)is an automated software testing technique that is based on feeding the program with random/mutated input values and monitoring it for exceptions/crashes. Do you want to learn how to fuzz like a real expert, but don't know how to start? If so, this is the course for you! 10 real targets, 10 exercises.Are you able to solve all 10?TikTok’s parent launched a web scraper that’s gobbling up the world’s online data 25-times faster than OpenAI - ByteDance looks like it’s eager to make up for lost time when it comes to scraping the web for data needed to train its generative AI models. The China-based parent company of video app TikTok released its own web crawler or scraper bot, dubbed Bytespider. ByteDance’s bot has quickly become one of the most, if not the single most, aggressive scrapers on the internet, the research shows. It’s scraping data at a rate that’s many multiples of other major companies, such as (Google, Meta,Amazon, OpenAI, and Anthropic, which usetheir own scraper botsto help create and improve their large language or multimodal models, known as LLMs or LMMs.Wi-Fi Goes Long Range on New WiLo Approach - Researchers have developed a hybrid technology that would combine Wi-Fi with theLong Range (LoRa) networking protocol, yielding a new long-distance wireless concept called WiLo. The research team has designed their proposed WiLo tech to be used on existing Wi-Fi and LoRa hardware. The advance may find applications inInternet of Things(IoT) technologies–such as networks of long-range sensors used in agriculture or smart cities.ServerlessAI - ServerlessAI provides an OpenAI-compatible API safe for client-side use. Authenticate users via any OpenID Connect provider, like Google or Apple. Set the OpenAI SDK's base URL to ServerlessAI, and include your Project ID and the user's JWT token. Guest users and machine-to-machine scenarios are also supported. Build, scale, and monetize AI app without backend.Jazz - A new way to build apps with distributed state. azz is anopen-source toolkitthat replaces APIs, databases and message queues withasingle new abstraction: “Collaborative Values”—distributed statewithsecure permissions built-in. Features that used to take months to build now work out-of-the-box.US judge orders Google to open up app store to competition - Google to overhaul its mobile app business to give Android users more options to download apps and to pay for transactions within them, following ajury verdict last year for “Fortnite” maker Epic Games. Theinjunction, opens new tabby U.S. District Judge James Donato in San Francisco outlined the changes Google must undertake to open up its lucrative app store, Play, to greater competition, including making Android apps available from rival sources. Mobile App Development TutorialAn excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. PriceDefining global filtersNorthwind products can be discontinued, so it might be useful to ensure that discontinued products are never returned in results, even if the programmer does not useWhereto filter them out in their queries:InNorthwindDb.cs, at the bottom of theOnModelCreatingmethod, add a global filter to remove discontinued products, as shown in the following code:// A global filter to remove discontinued products.modelBuilder.Entity<Product>().HasQueryFilter(p => !p.Discontinued); InProgram.cs, uncomment the call toQueryingWithLike, and comment out all the other method calls.Run the code, enter the partial product nameche, view the result, and note thatChef Anton’s Gumbo Mixis now missing, because the SQL statement generated includes a filter for theDiscontinuedcolumn, as shown highlighted in the following output:Enter part of a product name: chedbug: 05/03/2022 13:34:27.290 RelationalEventId.CommandExecuting[20100] (Microsoft.EntityFrameworkCore.Database.Command)Executing DbCommand [Parameters=[@__Format_1='%che%' (Size = 5)], CommandType='Text', CommandTimeout='30']SELECT "p"."ProductId", "p"."CategoryId", "p"."UnitPrice", "p"."Discontinued", "p"."ProductName", "p"."UnitsInStock"FROM "Products" AS "p"WHERE NOT ("p"."Discontinued") AND ("p"."ProductName" LIKE @__Format_1)Chef Anton's Cajun Seasoning has 53 units in stock. Discontinued? FalseQueso Manchego La Pastora has 86 units in stock. Discontinued? FalseGumbär Gummibärchen has 15 units in stock. Discontinued? False You’ve now seen many common ways to query data using EF Core. Next, we will look at how data is loaded and tracked and why you might want to control how EF Core does that....read more.Read the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!What's Happening in Mobile Development?Your dose of the latest releases, news and happenings in the Mobile Development industry!AppleApple’s Swift Student Challenge to open in February2025 - Submissions for the 2025 Swift Student Challenge will open in February for three weeks. Students, educators, and their advocates can find out how to prepare for the challenge and sign up to be notified when applications open atdeveloper.apple.com. Apple will recognize a total of 350 Swift Student Challenge winners whose submissions demonstrate excellence in innovation, creativity, social impact, or inclusivity. From this esteemed group, 50 Distinguished Winners will receive additional recognition and be invited to Apple’s headquarters in Cupertino next summer.Create new subscription win-back offers - Encourage people to resubscribe to your app or game‘s auto-renewable subscription on the App Store by providing win-back offers. These offers can be discovered on the App Store, in your app or game, and other places. Learn more about win-back offers.Meet with Apple: Build faster and more efficient apps - Want to get your app up to speed? Whether you’re optimizing an existing app or just starting out, you can join us in person in Cupertino, Bengaluru, or Shanghai to find out how to reduce launch time, create smooth scrolling and animations with SwiftUI, and optimize energy use or battery life. “Apps are a joy to use when they‘re fast and responsive,” says presenter and technology evangelist Cole Imhoff. “Performance motivates people to come back to your app, depend on it, and recommend it.” Join us in Cupertino, Bengaluru, or Shanghai. Browse the full schedule of activitiesTN3178: Checking for and resolving build UUID problems - Mach-O is the executable image format on Apple platforms. A Mach-O image is a Mach-O file that the system can load and execute without further processing. This includes executables, frameworks, dynamic libraries, and bundles. Ensure that every Mach-O image has a UUID, and that every distinct Mach-O image has its own unique UUID.AndroidIntroducing Ink API, a new Jetpack library for stylus apps - Ink API, an alpha Jetpack library that makes it easy to create, render, and manipulate beautiful ink strokes, enabling developers to build amazing features on top of these APIs is here. Ink API builds upon the Android framework's foundation of low latency and prediction, providing you with a powerful and intuitive toolkit for integrating rich inking features into your apps.Gemini Nano is now available on Android via experimental access – Google is opening up access to experiment with Gemini Nanoto all Android developers with the AI Edge SDK via AICore. Developers will initially have access to experiment with text-to-text prompts on Pixel 9 series devices. Support for more devices and modalities will be added in the future. Check out ourdocumentationandvideoto get started. Note that experimental access is for development purposes, and is not for production usage at this time.Microsoft.NET Conf 2024 - Celebrate and learn about what you can do with .NET 9 at the biggest .NET virtual event November 12 ‐ 14.Announcing TypeScript 5.7 Beta - The availability of TypeScript 5.7 Beta is announced. To get started using the beta, you can get it through npm with the following command: npm install -D typescript@betaAnd that’s a wrap.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! *{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{line-height:0;font-size:75%}#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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 7264

Apurva Kadam
27 Sep 2024
Save for later

MobilePro #156: DDD, Clean and Hexagonal Architectures, React Native Dynamic App Icons , NativeFlow, LLMs Will Always Hallucinate.

Apurva Kadam
27 Sep 2024
Mobile development blogs, tutorials and resources inside!Advertise with Us|Sign Up to the Newsletter @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} } @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }Grow, Make a Difference, and Win! Participate in the Latest Developer Nation Survey!What changed in the way you code for 2024? What has happened in the tech world in the last months? Take this shorter version of the Developer Nation survey, learn about new tools, influence the future of development and share your insights with the world!Take the Survey!MobilePro #156: DDD, Clean and Hexagonal Architectures, React Native Dynamic App Icons , NativeFlow, LLMs Will Always Hallucinate.Hi ,Welcome to the mobile app development world with the 156th edition of _mobilepro!In this edition we cover mobile development community discussions on:Right Balance Between DDD, Clean and Hexagonal Architectures3G Cell Service Has a HUGE Security FlawReact Native Dynamic App IconsNativeFlow: A Tailwind-Like, Object-Based React Native UI Library10 Software Design and Programming Best Practices for DevelopersIn our relatively new section captures internet jibber-jabber about the mobile ecosystem:Apple Mobile Processors Are Now Made in America. By TSMCmacOS Sequoia is available, bringing iPhone Mirroring, Apple Intelligence to MacFacebook admits to scraping every Australian adult user’s public photo and post to train AI, with no opt-out optionZero-Click Calendar invite: Critical zero-click vulnerability chain in macOSLLMs Will Always Hallucinate, and We Need to Live With ThisToday's news covers release stories on Apple and Android. And if you are currently developing an iOS app, checkout this week's resources on iOS tools. Don’t miss this week’s tutorial from the book ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ .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 installment in our new series,fill in our survey below andwin a free PDF on your Packt account.Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, PacktExperience the easiest File API on the Internet!Add file uploads and retrieval in minutes so you can focus on building your app — because you’ve got better things to code than infrastructure.Try now!Mobile App Dev Community SpeakWhat are Mobile developers discussing? What are the latest tips and tricks? Shortcuts and experiments? Cool tutorials? Releases and updates? Find it all out here.Digging Deep to Find the Right Balance Between DDD, Clean and Hexagonal Architectures - Choosing the right software architecture is challenging, especially when balancing theory and recommendations from the internet with practical implementation. In this article, I will share my journey and the architectural choices that have worked for me.3G Cell Service Has a HUGE Security Flaw - If you've used a phone much, you probably know what cell service is. Quick recap: Cellular service is a wireless communication system that allows mobile devices, like phones, to connect to a network using radio frequencies. You might have known that already, but did you know that 3G cell service networks have a large security flaw that's easy to exploit? To explain this better, let's go back in time!React Native Dynamic App Icons - This article demonstrates a practical implementation of dynamic app icon changing in React Native, utilising thereact-native-change-iconlibrary. It serves as a guide and example for developers looking to incorporate icon-switching functionality into their iOS and Android applications.NativeFlow: A Tailwind-Like, Object-Based React Native UI Library - In the world of React Native development, UI styling can sometimes be a pain point, especially for those used to the flexibility and simplicity of utility-first CSS frameworks like Tailwind. You know the drill — hours spent wrestling with babel setups, styles, tweaking tiny details, and hoping it looks good on both iOS and Android. Many existing solutions rely on wrapping Tailwind with custom Babel setups or trying to make it work inside React Native's ecosystem. But (let’s be real), these approaches often add extra complexity, unsupported properties, or completely miss out on platform-specific APIs. That’s where NativeFlow comes in.10 Software Design and Programming Best Practices for Developers - Software design and System Design a critical aspect of the development process that can significantly impact the success and maintainability of a project. While mastering software design takes time and experience, there are key best practices that developers can quickly learn to enhance the quality of their code.Mobile App Dev ReposCheck this space for new repos, projects and tools each week! This week we bring you a collection of iOS tools for Images.ImageDetect- Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api.THTiledImageView- Provide ultra-high-quality images through tiling techniques.GPUImage3- GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal.Harbeth - Metal API for GPU accelerated Graphics and Video and Camera filter framework.Gallery- Your next favorite image and video picker.ATGMediaBrowser- Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease.Pixel- An image editor and engine using CoreImage.Trending TitlesMastering PyTorchBuy now at $41.99$28.99Building Production-Grade Web Applications with SupabaseBuy now at $39.99 $27.99Mastering Python Design PatternsBuy now $31.99$21.99Internet Jibber-JabberRandom curious musings and interesting words about Mobile Dev on the Internet.Apple Mobile Processors Are Now Made in America. By TSMC - TSMC’s first Arizona chips are now in production, and Apple is ready to be the first cab off the rank with mobile processors made using the foundry’s 5nm process. Apple’s A16 SoC, which first debuted two years ago in theiPhone 14 Pro, is currently being manufactured at Phase 1 of TSMC’s Fab 21 in Arizona in small, but significant, numbers, my sources tell me. Volume will ramp up considerably when the second stage of the Phase 1 fab is completed and production is underway, putting the Arizona project on track to hit itstarget for production in the first-half of 2025.macOS Sequoia is available, bringing iPhone Mirroring, Apple Intelligence, and more to Mac - macOS Sequoia, the latest version of the world’s most advanced desktop operating system, is available today as a free software update for Mac. macOS Sequoia brings exciting new features, including iPhone Mirroring, which expands Continuity by enabling access to and control of iPhone directly from macOS; big updates to Safari; a new Passwords app; and more. Starting next month, macOS Sequoia will introduce Apple Intelligence,1the personal intelligence system that combines the power of generative models with personal context to deliver intelligence that is incredibly useful and relevant while protecting users’ privacy and security.Facebook admits to scraping every Australian adult user’s public photo and post to train AI, with no opt-out option - Facebook is scraping the public data of all Australian adults on the platform, it has acknowledged in an inquiry. The company does not offer Australians an opt out option like it does in the EU, because it has not been required to do so under privacy law.Zero-Click Calendar invite: Critical zero-click vulnerability chain in macOS - I found a zero-click vulnerability in macOS Calendar, which allows an attacker to add or delete arbitrary files inside the Calendar sandbox environment. This could lead to many bad things including malicious code execution which can be combined with security protection evasion with Photos to compromise users’ sensitive Photos iCloud Photos data. Apple hasfixedall the vulnerabilities between October 2022 and September 2023.LLMs Will Always Hallucinate, and We Need to Live With This - As Large Language Models become more ubiquitous across domains, it becomes important to examine their inherent limitations critically. This work argues that hallucinations in language models are not just occasional errors but an inevitable feature of these systems. We demonstrate that hallucinations stem from the fundamental mathematical and logical structure of LLMs. It is, therefore, impossible to eliminate them through architectural improvements, dataset enhancements, or fact-checking mechanisms. Our analysis draws on computational theory and Godel's First Incompleteness Theorem, which references the undecidability of problems like the Halting, Emptiness, and Acceptance Problems. Mobile App Development TutorialAn excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. PriceUnderstanding data seeding with the Fluent APIAnother benefit of the Fluent API is to provide initial data to populate a database. EF Core automatically works out what insert, update, or delete operations must be executed.For example, if we wanted to make sure that a new database has at least one row in theProducttable, then we would call theHasDatamethod, as shown in the following code:modelBuilder.Entity<Product>().HasData(new Product{ProductId = 1,ProductName = "Chai",UnitPrice = 8.99M});Calls toHasDatatake effect either during a data migration executed by the commanddotnet ef database updateor when you call theDatabase.EnsureCreatedmethod.Our model will map to an existing database that is already populated with data, so we will not need to use this technique in our code....read more.Read the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!What's Happening in Mobile Development?Your dose of the latest releases, news and happenings in the Mobile Development industry!AppleTN3111: iOS Wi-Fi API overview - Explore the various Wi-Fi APIs available on iOS and their expected use cases. iOS does not have a general-purpose API for Wi-Fi scanning and configuration. However, it does support a wide range of special-purpose Wi-Fi APIs. This technote lists some use cases supported by those special-purpose APIs.AndroidAttestation format change for the Android FIDO2 API - In 2019 we introduceda FIDO2 API, adopted by many leading developers, which allows users to generate an attested, device-boundFIDO2 credential on Android devices. Since this launch, Android has generated an attestation statement based on theSafetyNet API. As the underlying SafetyNet API is beingdeprecated, the FIDO2 API must move to a new attestation scheme based on hardware-backed key attestation. This change will require action from developers using the FIDO2 API to ensure a smooth transition. The FIDO2 API is closely related to, but distinct from, thepasskeys APIand is invoked by setting theresidentKeyparameter todiscouraged. While our goal is over time tomigrate developers to the passkey API, we understand that not all developers who are currently using the FIDO2 API are ready for that move and we continue working on ways to converge these two APIs.Developer Preview: Desktop windowing on Android Tablets - To empower tablet users to get more done, we're enhancing freeform windowing, allowing them to run multiple apps simultaneously and resize windows for optimal multitasking. Today, we're excited to share that desktop windowing on Android tablets is available in developer preview. For app developers, the concept of Android apps running in freeform windows has already existed with solutions like Samsung DeX and ChromeOS. Updating your apps to support adaptive layouts, more robust multitasking, and adaptive inputs will ensure your apps work well on large screens across the Android ecosystem. Let’s explore how to optimize your apps for desktop windowing and deliver the optimal experience to users.TalkBack uses Gemini Nano to increase image accessibility for users with low vision - TalkBackis Android’s screen reader in theAndroid Accessibility Suitethat describes text and images for Android users who have blindness or low vision. The TalkBack team is always working to make Android more accessible. Today, thanks to Gemini Nano with multimodality, TalkBack automatically provides users with blindness or low vision more vivid and detailed image descriptions to better understand the images on their screen.And that’s a wrap.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! *{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{line-height:0;font-size:75%}#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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} } @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 6252
Apurva Kadam
26 Sep 2024
Save for later

Make your opinion count! We Need Your Expertise: Participate in our Quick Survey Inside.

Apurva Kadam
26 Sep 2024
As a valued member of our community, we invite you to participate in our user insights survey.Advertise with Us|Sign Up to the NewsletterGrow, Make a Difference, and Win! Participate in the Latest Developer Nation Survey!Hi ,What changed in the way you code for 2024? What has happened in the tech world in the last months?Take this shorter version of the Developer Nation survey, learn about new tools, influence the future of development and share your insights with the world! @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }What’s in it for you?A virtual goody bag packed with cool resourcesThe more questions you answer the more chances you have to win amazing prizes including:Samsung Galaxy Watch 7Portable ProjectorRODE NT-USB Mini MicrophoneRaspberry Pi 5s12-month Mullvad VPN licenceGift Cards and much more!Take the Survey now!Additionally, Developer Nation will donate to the following organizations on behalf of each developer who completes the survey:SPCA (safety and well-being of animals)Child's Play (therapeutic games for hospitals)Code the Dream (free coding education empowerment)Wanna be part of this?Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, Packt*{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{line-height:0;font-size:75%}#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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 4607

Apurva Kadam
20 Sep 2024
Save for later

MobilePro #155: App Navigation Patterns, Apple gets FDA approval, OpenAI’s new o1 chain-of-thought models, Learn Git Branching, Void captures over a million Android TV boxes.

Apurva Kadam
20 Sep 2024
Mobile development blogs, tutorials and resources inside!Advertise with Us|Sign Up to the Newsletter @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }Join Roman Lavrik from Deloitte Snyk hosted DevSecCon 2024Snyk is thrilled to announce DevSecCon 2024, Developing AI Trust Oct 8-9, a FREE virtual summit designed for DevOps, developer and security pros of all levels. Join Roman Lavrik from Deloitte, among many others, and learn some presciptive DevSecOps methods for AI-powered development.Save your Post!MobilePro #155: App Navigation Patterns, Apple gets FDA approval, OpenAI’s new o1 chain-of-thought models, Learn Git Branching, Void captures over a million Android TV boxes.Hi ,Welcome to the mobile app development world with the 155th edition of _mobilepro!In this edition we cover mobile development community discussions on:Top 14 Chrome Extensions for Developers to Boost Productivity in 2024Mobile App Navigation: Patterns and ExamplesHow to Disable Screenshot Capture in Your React Native Expo AppMastering Jetpack Compose: From Beginner to ProWearable Technology and Android: Developing Apps for SmartwatchesIn our relatively new section captures internet jibber-jabber about the mobile ecosystem:Apple Watch sleep apnea detection gets FDA approvalNotes on OpenAI’s new o1 chain-of-thought modelsLearn Git BranchingBan warnings fly as users dare to probe the “thoughts” of OpenAI’s latest modelVoid captures over a million Android TV boxesEvery week we recommend mobile app development resources, and this week we feature:1. Swift Cookbook2. Mastering Kotlin for Android 143. .NET MAUI ProjectsToday's news covers release stories on Apple, Android,and Microsoft. And if you are currently developing an iOS app, checkout this week's resources on iOS tools. Don’t miss this week’s tutorial from the book ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ .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 installment in our new series,fill in our survey below andwin a free PDF on your Packt account.Take the Survey Now!Thanks,Apurva KadamEditor-in-Chief, PacktMobile App Dev Community SpeakWhat are Mobile developers discussing? What are the latest tips and tricks? Shortcuts and experiments? Cool tutorials? Releases and updates? Find it all out here.Top 14 Chrome Extensions for Developers to Boost Productivity in 2024 – This article covers game-changing Chrome extensions. These tools took my workflow from chaotic to manageable, saving not only my time but possibly my job too. From squashing bugs to speeding up design work, these extensions will transform the way you code. If you're stuck pulling all-nighters and questioning your career choices, these 14 Chrome extensions might just be your lifesaver, helping you boost productivity, catch bugs early, and maybe even get back some work-life balance.Mobile App Navigation: Patterns and Examples - In a mobile-first world, users should find it effortless to interact with any mobile app (or website, for that matter). The big idea is to prioritize what matters the most, given that the mobile devices include a small screen real estate. Navigation design for mobile apps helps in this direction.How to Disable Screenshot Capture in Your React Native Expo App - Privacy and security are critical for mobile applications, developers often need to ensure that sensitive information displayed in their apps cannot be easily captured through screenshots or screen recordings. While React Native Expo provides a powerful framework for building cross-platform apps, it doesn’t offer a built-in way to disable screenshot capture. However, you can achieve this by integrating native code into your Expo project. In this article, we’ll walk you through the steps to disable screenshot capture in your React Native Expo app for both AndroidMastering Jetpack Compose: From Beginner to Pro - Feeling bogged down by complex UI code?Jetpack Composeis here to simplify your work and boost your team's productivity. Curious to learn more? Dive into our latest carousel post below to see these concepts in action and discover how Jetpack Compose can revolutionize your development process.Wearable Technology and Android: Developing Apps for Smartwatches - The rise of wearable technology has transformed the way we interact with the digital world. Smartwatches, fitness trackers, and even smart glasses are now integral parts of our daily lives, offering convenience, real-time data, and personalized experiences. In this blog, we’ll explore the growing market for wearable tech and share insights into developing Android apps for smartwatches and other wearable devices.Mobile App Dev ReposCheck this space for new repos, projects and tools each week! This week we bring you a collection of iOS tools for Images.Viewer- Image viewer (or Lightbox) with support for local and remote videos and images.OverlayComposite- An asynchronous, multithreaded, image compositing framework written in Swift.MetalPetal- A GPU-accelerated image/video processing framework based onMetal.Avatar- Generate random user Avatar images using CoreGraphics and QuartzCore.Serrata- Slide image viewer library similar to Twitter and LINE.StyleArt- Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style.greedo-layout-for-ios- Full aspect ratio grid layout for iOS.Trending TitlesOur weekly recommendations of the best resources in Mobile App Development!Swift CookbookBuy now at $35.99$24.99Mastering Kotlin for Android 14Buy now at $31.99 $21.99.NET MAUI ProjectsBuy now at $41.99 $28.99Internet Jibber-JabberRandom curious musings and interesting words about Mobile Dev on the Internet.Apple Watch sleep apnea detection gets FDA approval - The U.S. Food and Drug Administration Mondaypublished approvalfor sleep apnea detection on the Apple Watch Series 9,Series 10, and Watch Ultra 2. The green light comes four days ahead of the Series 10’s September 20 release date. The feature,announced at last week’s iPhone 16 event, will arrive as part of the imminent watchOS 11 release. Once enabled, it requires 10 nights of sleep tracking data spread out over a 30-day span to determine whether a user may have the condition. During that time, it also offers insights into nightly sleeping disturbances, utilizing the on-board accelerometer.Notes on OpenAI’s new o1 chain-of-thought models - OpenAIreleased two major new preview modelstoday:o1-previewando1-mini(that mini one isnot a preview)—previously rumored as having the codename “strawberry”. There’s a lot to understand about these models—they’re not as simple as the next step up from GPT-4o, instead introducing some major trade-offs in terms of cost and performance in exchange for improved “reasoning” capabilities.Learn Git Branching - Interested in learning Git? Well, you've come to the right place! "Learn Git Branching" is the most visual and interactive way to learn Git on the web; you'll be challenged with exciting levels, given step-by-step demonstrations of powerful features, and maybe even have a bit of fun along the way.Ban warnings fly as users dare to probe the “thoughts” of OpenAI’s latest model - OpenAI truly does not want you to know what its latest AI model is "thinking." Since the companylaunchedits "Strawberry" AI model family last week, touting so-called reasoning abilities with o1-preview and o1-mini, OpenAI has been sending out warning emails and threats of bans to any user who tries to probe how the model works.Void captures over a million Android TV boxes - Doctor Web experts have uncovered yet another case of an Android-based TV box infection. The malware, dubbedAndroid.Vo1d, has infected nearly 1.3 million devices belonging to users in 197 countries. It is a backdoor that puts its components in the system storage area and, when commanded by attackers, is capable of secretly downloading and installing third-party software. Mobile App Development TutorialAn excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. PriceSimplifying disposal by using the using statementYou can simplify the code that needs to check for anullobject and then call itsDisposemethod by using theusingstatement. Generally, I would recommend usingusingrather than manually callingDisposebecause it’s less code to write, unless you need a greater level of control.Confusingly, there are two uses for theusingkeyword: importing a namespace and generating afinallystatement that callsDisposeon an object implementingIDisposable.The compiler changes ausingstatement block into atry-finallystatement without acatchstatement. You can use nestedtrystatements; so, if you do want to catch any exceptions, you can, as shown in the following code example:using (FileStream file2 = File.OpenWrite(Path.Combine(path, "file2.txt"))){using (StreamWriter writer2 = new StreamWriter(file2)){try{writer2.WriteLine("Welcome, .NET!");}catch(Exception ex){WriteLine($"{ex.GetType()} says {ex.Message}"); }} // Automatically calls Dispose if the object is not null.} // Automatically calls Dispose if the object is not null.You can even simplify the code further by not explicitly specifying the braces and indentation for theusing statements, as shown in the following code...read more.Read the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!What's Happening in Mobile Development?Your dose of the latest releases, news and happenings in the Mobile Development industry!AppleiOS 18 is available today, making iPhone more personal and capable than ever - iOS 18is now available, bringing iPhone users around the world new ways to personalize their iPhone with deeper customization to the Home Screen and Control Center; the biggest-ever redesign to Photos, making it even easier to find and relive special moments; and major enhancements to Messages and Mail. Starting next month, iOS 18 will introduce Apple Intelligence, the personal intelligence system that combines the power of generative models with personal context to deliver intelligence that is incredibly useful and relevant while protecting users’ privacy and security.1Apple Maps introduces new ways to explore the world - Beginning today, users can discover hikes in U.S. national parks, create custom walking routes, save favorite spots to a new Places Library, and more. With the release ofiOS 18,iPadOS 18,macOS Sequoia, andwatchOS 11today, Apple Maps is introducing new features to help users explore and find places they love.watchOS 11 is available today - Introducing sleep apnea notifications, the Vitals app, training load, additional customization for Activity rings, a more personalized Smart Stack, and moreAndroidTools, not Rules: become a better Android developer with Compiler Explorer - Compiler Explorer is an interactive website for studying how compilers work. It is anopen source projectthat anyone can contribute to. This year, our engineers added support to Compiler Explorer for the Java and Kotlin programming languages on Android. You can use Compiler Explorer to understand how your source code is translated to assembly language, and how high-level programming language constructs in a language like Kotlin become low-level instructions that run on the processor.Build adaptive apps with new Compose APIs, now stable! - The 1.0 stable release of the Compose adaptive APIs with Material guidance is now available, helping you build adaptive layouts that provide an optimized user experience on any window size.MicrosoftJoin the .NET Smart Components ecosystem - The .NET Smart Components are a set of sample drop-in UI components that make it easy to add AI-enabled features for useful scenarios, like auto-filling forms from clipboard data, smart text completions, and semantic search. The .NET Smart Components demonstrate how prepackaging AI-based functionality into reusable components makes it easier to integrate these features into existing apps. We’re making the .NET Smart Components source code available as reference sample implementations to help bootstrap a vibrant ecosystem of reusable .NET AI-powered components.And that’s a wrap.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! *{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{line-height:0;font-size:75%}#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}} @media only screen and (max-width: 100%;} #pad-desktop {display: none !important;} }
Read more
  • 0
  • 0
  • 8655
Success Subscribed successfully to !
You’ll receive email updates to every time we publish our newsletters.