





















































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:
In our relatively new section captures internet jibber-jabber about the mobile ecosystem:
Every week we recommend mobile app development resources, and this week we feature:
2. Mastering Kotlin for Android 14
3.Thriving in Android Development Using Kotlin
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.
Thanks,
Apurva Kadam
Editor-in-Chief, Packt
What 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.
Check 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.
Our weekly recommendations of the best resources in Mobile App Development!
Random 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.
An excerpt from ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ By Mark J. Price
Inserting entities
Let’s start by looking at how to add a new row to a table:
In theWorkingWithEFCore
project, add a new class file namedProgram.Modifications.cs
.
InProgram.Modifications.cs
, create a partialProgram
class with a method namedListProducts
that outputs the ID, name, cost, stock, and discontinued properties of each product, sorted with the costliest first, and highlights any that match an array ofint
values 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.
Your dose of the latest releases, news and happenings in the Mobile Development industry!
Apple
The 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.
Android
CameraX 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.
JetBrains
Introducing 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.