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