MobilePro #151: Flutter Icon Libraries, TypeScript with React Native, Procreate’s anti-AI pledge, Markov chains, Transformers in music recommendation.
Hi,
Welcome to the mobile app development world with the 151st 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:
Procreate’s anti-AI pledge attracts praise from digital creatives
Google Play will no longer pay to discover vulnerabilities in popular Android apps
Today's news covers release stories on Apple, Android, Microsoft and React Native. 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 and win a free PDF on your Packt account.
Thanks,
Apurva Kadam
Editor-in-Chief, Packt
Advance Your Knowledge in Tech!
Next Gen Learning - AI-powered Assistants for Every Title Published after 2023!
Get unlimited access to 7000+ expert-authored eBooks and video courses covering every
Try it yourself - Start your Trial!
Mobile App Dev Community Speak
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.
Best Open-Source Flutter Icon Libraries in 2024 - Choosing the right icon library is crucial for enhancing the user interface and streamlining the development process of your Flutter app. In this article, we'll explore some of the best Flutter icon libraries for 2024, including Huge icons Pro, Material Icons, Feather Icons, and more, to help you find the perfect icons for your project.
How to Build Your First Mobile App in Flutter: A Step-by-Step Guide - Building your first mobile app can be an exciting and rewarding experience. With Flutter, an open-source UI software development kit created by Google, you can create natively compiled applications for mobile, web, and desktop from a single codebase. This guide will take you through the step-by-step process of building a simple mobile app using Flutter.
Create a Currency Conversion React Native App - In an increasingly globalized world, the ability to quickly and accurately convert currencies is more important than ever. Whether you’re travelling, shopping online, or just keeping an eye on the markets, having a reliable tool at your fingertips can make a big difference. Enter the Currency Conversion App — a React Native application designed to simplify currency conversions with real-time exchange rates. In this article, we’ll explore the features of this app, the technologies used to build it, and how you can get started with your local setup.
Using TypeScript with React Native: Best Practices - TypeScript has rapidly become a favorite among developers for building robust, scalable, and maintainable applications. Combined with React Native, it offers a powerful toolset that enhances the developer experience and leads to higher-quality code. In this article, we’ll explore the best practices for using TypeScript in your React Native projects to maximize efficiency and maintainability.
How can I install GCAM on any Android device - To install GCAM (Google Camera)on an Android device, you can follow these steps. Since GCAM is a modified version of Google's camera app, it's not available on the Google Play Store but can be installed via APK files or other methods. Here’s a general guide to help you with the process.
Mobile App Dev Repos
Check this space for new repos, projects and tools each week! This week we bring you a collection
of iOS tools for Images.
ImagePickerSheetController - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches.
ComplimentaryGradientView - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js.
ImageSlideshow - Swift image slideshow with circular scrolling, timer and full screen viewer.
Imaginary - Remote images, as easy as one, two, three.
PPAssetsActionController - Highly customizable Action Sheet Controller with Assets Preview.
Vulcan - Multi image downloader with priority in Swift.
Internet Jibber-Jabber
Interesting stories and curious musings from the Internet.
Procreate’s anti-AI pledge attracts praise from digital creatives - The popular iPad design app has vowed against introducing generative AI tools into its products. Many Procreate users can breathe a sigh of relief now that the popular iPad illustration app has taken a definitive stance against generative AI. “We’re not going to be introducing any generative AI into our products,” Procreate CEO James Cuda said in a video posted to X. “I don’t like what’s happening to the industry, and I don’t like what it’s doing to artists.”
Markov chains are funnier than LLMs - My goal in this article is to convince you that humor is measurable and that Markov chains are funny. To do this, I will need to define both Markov chains and humor itself. Let’s start with the easier one.
Spine - 2D animation for games - Animation brings video games alive. We believe creating great 2D animation requires not only powerful software, but a powerful workflow. Spine is dedicated to 2D skeletal animation, providing an efficient workflow both for creating amazing animation and for integrating it into your games.
Transformers in music recommendation – Google research presents a music recommendation ranking system that uses Transformer models to better understand the sequential nature of user actions based on the current user context. In this post we discuss how we’ve applied transformers, which are well-suited to processing sequences of input data, to improve there commendation system in YouTube Music. Our approach adapts the Transformer architecture from generative models for the task of understanding the sequential nature of user actions, and blends that with ranking models personalized for that user.
Google Play will no longer pay to discover vulnerabilities in popular Android apps - Google has announced that it is winding down the Google Play Security Reward Program. The program was introduced in late 2017 to incentivize security researchers to find and responsibly disclose vulnerabilities in popular Android apps. Google says it is winding down the program due to a decrease in actionable vulnerabilities reported by security researchers.
Mobile App Development Tutorial
Improving regular expression performance with source generators
When you pass a string literal or string constant to the constructor of Regex, the class parses the string and transforms it into an internal tree structure that represents the expression in an optimized way that can be executed efficiently by a regular expression interpreter.
You can also compile regular expressions by specifying RegexOptions, as in the following code:
Regex ageChecker = new(DigitsOnlyText, RegexOptions.Compiled);
Unfortunately, compiling has the negative effect of slowing down the initial creation of the regular expression. After creating the tree structure that would then be executed by the interpreter, the compiler then must convert the tree into IL code, and then that IL code needs to be JIT compiled into native code. If you’re only running the regular expression a few times, it is not worth compiling it, which is why it is not the default behavior. If you’re running the regular expression more than a few times, for example, because it will be used to validate the URL for every incoming HTTP request to a website, then it is worth compiling. But even then, you should only use compilation if you must use .NET 6 or earlier.
.NET 7 introduced a source generator for regular expressions that recognizes if you decorate a partial method that returns Regex with the [GeneratedRegex] attribute. It generates an implementation of that method that implements the logic for the regular expression.
Let’s see it in action:
In the WorkingWithRegularExpressions project, add a new class file named Program.Regexs.cs and modify its content to define some partial methods, as shown in the following code:
using System.Text.RegularExpressions; // To use [GeneratedRegex].
partial class Program
{
[GeneratedRegex(DigitsOnlyText, RegexOptions.IgnoreCase)]
private static partial
Regex DigitsOnly();
[GeneratedRegex(CommaSeparatorText, RegexOptions.IgnoreCase)]
private static partial Regex CommaSeparator();
}
In Program.cs, replace the new constructor with a call to the partial method that returns the digits-only regular expression, as shown highlighted in the following code:
Regex ageChecker = DigitsOnly();
In Program.cs, replace the new constructor with a call to the partial method that returns the comma-separator regular expression, as shown highlighted in the following code:
Regex csv = CommaSeparator();
Hover your mouse pointer over the partial methods and note the tooltip describes the behavior of the regular expression, as shown …read more.
Read the ‘C# 12 and .NET 8 – Modern Cross-Platform Development Fundamentals’ book now!
What's Happening in Mobile App Dev?
Latest releases, updates, launches and news on mobile app dev!
Apple
Developers can soon offer in‑app NFC transactions using the Secure Element - Starting with iOS 18.1, developers will be able to offer NFC contactless transactions using the Secure Element from within their own apps on iPhone, separate from Apple Pay and Apple Wallet. Using the new NFC and SE (Secure Element) APIs, developers will be able to offer in-app contactless transactions for in-store payments, car keys, closed-loop transit, corporate badges, student IDs, home keys, hotel keys, merchant loyalty and rewards cards, and event tickets, with government IDs to be supported in the future.
Meet with Apple - Join us around the world for a variety of sessions, labs, and workshops — tailored for you. Browse the fullschedule
Resources - Build local experiences with room tracking: Use room tracking in visionOS to provide custom interactions with physical spaces. Preview your app’s interface in Xcode: Iterate designs quickly and preview your apps’ displays across different Apple devices.
Android
IndieGames Fund: Google Play’s $2m fund in Latin America is back - Back again for 2024, we’re opening up applications for Google Play’s Indie Games Fund in Latin America - as part of our commitment to helping developers of all sizes grow on Google Play. Check out the 10 selected studios who received a share of the fund last year. We will award a share of $2 million in addition to hands-on support to selected small games studios based in Latin America.
Create exceptional experiences on Pixel’s new watches and foldables - Pixel just announced the latest devices coming to the Android ecosystem, including Pixel 9 Pro Fold and Pixel Watch 3. These devices bring innovation to the foldable and wearables paces, with larger screen sizes and exceptional performance.
Microsoft
.NET and .NET Framework August 2024 updates - .NET servicing updates for August 2024. To help streamline and help you keep up to date with the latest service releases we have decided to combine our update posts around both .NET &.NET Framework so you can find all the information in one convenient location on the blog. Don’t forget that you can find updates about .NET previews on GitHub, specifically for .NET 9.
React Native
React Native 0.75 update - Support for Percentage Values in Layout, New Architecture Stabilization, Template & init Updates, and more. This release ships several features, such as Yoga 3.1 with support for % values, several stabilization fixes for the New Architecture, and the introduction of the recommendation for users to use a React Native Framework.
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!