Meet us at E-commerce Berlin Expo, February 22, 2024.

Please leave your contacts, we will send you our whitepaper by email
I consent to process my personal data in order to send personalized marketing materials in accordance with the Privacy Policy. By confirming the submission, you agree to receive marketing materials
Thank you!

The form has been successfully submitted.
Please find further information in your mailbox.

Innowise is an international full-cycle software development company founded in 2007. We are a team of 1600+ IT professionals developing software for other professionals worldwide.
About us
Innowise is an international full-cycle software development company founded in 2007. We are a team of 1400+ IT professionals developing software for other professionals worldwide.

Innowise June mobile app development digest

Welcome to the June edition of our mobile digest, the go-to resource for everything related to mobile development. Building upon the success of our previous editions, we continue to bring you an extensive compilation of the latest news, detailed reviews, and invaluable guides in the ever-evolving realm of mobile development.

In this month’s edition, we have curated a wealth of information to keep you up-to-date with the most significant trends and advancements in the field. Our team of experts has scoured the industry to bring you the most relevant and insightful content, ensuring that you stay ahead of the curve.

Flutter

What’s new in Flutter 3.10

Source: Medium

The annual Google I/O conference, held on May 10th, 2023, brought together developers to discuss open technologies and Google services. At the event, Flutter developers were particularly excited about the release of Flutter 3.10, which introduced Material 3, a library that adheres to the latest Material Design specifications.

Material 3 adds new components and visually updated elements, as well as the ability to customize color schemes. Also, the navigation and search functionality have been improved with the addition of new widgets such as NavigationBar, NavigationDrawer, SearchBar, and SearchAnchor.

Also included in Flutter 3.10 are a secondary tab bar, updates to the Datepicker and Drawer widgets, and improvements to the TextField widget. Security has been strengthened by adding support for level 1 of SLSA, while web applications have seen advancements in loading times, file size, and shader support.
In terms of performance, optimizations have been made with Impeller, reduced latency, smaller app sizes, and support for new APIs on iOS and Android. DevTools have also received upgrades, including the utilization of Material 3 and a new tool for analyzing Perfetto traces.

Despite these improvements, challenges have arisen with the pub get command, as some libraries have yet to update their dependencies to accommodate the new Dart 3.0. It is recommended that developers wait for library authors to ensure compatibility before upgrading.

Overall, Flutter developers can look forward to embracing these exciting new features and improvements in the near future.

Improving app performance with isolates in Flutter

Source: Medium

Recently, a newcomer at Flutter Lab posed the question, “What is the purpose of isolates?” Isolates can be perplexing for those unfamiliar with them or those who work with complex and lengthy code. This article aims to provide insights into the history and significance of isolates, along with improved methods of utilization. By perusing this article, you will acquire knowledge on how to prevent your application from becoming unresponsive or sluggish due to resource-intensive computational tasks. The article will unveil the advantages and secrets of isolates, enabling you to determine the optimal approach, be it conventional or innovative, to accomplish your objectives.

Design patterns in Dart with code examples

Source link

The article presents a comprehensive overview of several widely employed design patterns that can greatly improve the efficiency and quality of code in Flutter development. These patterns encompass Singleton, Abstract Factory, Adapter, Decorator, Command, and more. Patterns are thoroughly explained, describing their purpose and implementation, as well as highlighting their benefits and drawbacks.

For instance, the Singleton pattern guarantees that only one instance of a class will be created, facilitating global access to that instance. The Abstract Factory pattern enables the creation of related object families without being constrained by their specific classes. On the other hand, the Adapter pattern facilitates collaboration between objects with incompatible interfaces.

In essence, this text proves to be an invaluable resource for Flutter developers, offering a wealth of knowledge on these design patterns and their practical applications. By integrating these patterns into their development workflow, developers can significantly enhance their code, thereby attaining higher levels of efficiency and quality.

Riverpod vs Bloc: making the right choice for your real-world app

Source: Medium

Kemal Kalandarov, Flutter Developer: “In my daily life, I often find myself debating the merits of various things such as BMW versus Mercedes and iPhone versus Android. I always tend to choose the iPhone and Mercedes, which are my personal favorites. Recently, I had a conversation with a colleague about state management in Flutter. I am a passionate fan of bloc/cubit, but we discovered that opinions are highly diverse on this topic.

I came across an article that compared two state management packages in Flutter: Riverpod and Bloc. The article examines the creation of “storec” using “storea” and “storeb” in both packages. It notes that when using Bloc, a significant amount of boilerplate code is required, while Riverpod achieves the desired result more succinctly and efficiently.

Additionally, the article considers a scenario where a widget that displays colors uses values from “storer,” “storeg,” and “storeb.” When using Bloc, nested BlocBuilders are required to track changes in each Cubit state, which may impact performance, whereas using Riverpod makes achieving the desired functionality simpler and more efficient.

Overall, the article suggests that Riverpod offers a more elegant and efficient approach to state management compared to Bloc, especially in complex application development scenarios. Therefore, the choice between these two packages ultimately depends on the project requirements and developer’s personal preferences.”

How I won Telegram’s $50,000 Sticker App Contest using Flutter

Source link

The author recounts their participation in Telegram contests, an opportunity for developers to build or improve functionality within the Telegram ecosystem. In particular, the author discusses their experiences with the Sticker App Contest, which challenged participants to create a mobile application for exporting stickers to Telegram. Utilizing Flutter, the author successfully built the application called TStick. The article highlights the prominent features of TStick, including sticker export, image processing, text incorporation, manual and automatic background removal, sticker outline creation, and sticker set export. Notably, the author emphasizes that TStick claimed the 1st position out of 79 participants, securing a significant portion of the prize pool.

Android

Performance of 2GIS for Android

Source link

Following a series of updates and the delivery of new features, the 2GIS development and testing team noticed an increase in app launch time, with complaints about the app’s slower performance soon popping up. The QA team decided to conduct an analysis, implement logging, and write automated tests to simulate user scenarios. They shared all the information with the development team, which responded as follows:

  • Revamped screen layouts and element rendering order.
  • Removed logging of large objects.
  • Deferred the creation of large system objects.
  • Optimized thread management to minimize downtime.

*It seems that the authors got confused and wrote that the speed increased when it actually decreased – otherwise, we wouldn’t have this article.

OAuth 2.0 authorization in Google API for Android without special libraries

Source link

Here’s a detailed tutorial on implementing native authorization for the OAuth 2.0 Google API without relying on external libraries or WebView. The tutorial demonstrates the use of CustomTabs and provides clear instructions on obtaining the required parameters.

Automating the publication of Android applications in Google Play and Huawei AppGallery — from A to Z

Source link

Here’s another tutorial that clearly conveys its purpose through its title. Initially, the tutorial explains how to prepare data for the release, followed by instructions on how to build the release build and handle keys, and then explores automation possibilities and outlines the expected outcome. This tutorial is worth bookmarking for future reference, as the need for this knowledge is likely to arise in the near future.

Introducing the Android UI design hub

Source: Medium

Google has developed the Android UI Design Hub, a valuable resource aimed at helping Android developers design user interfaces (UI) more effectively. This platform provides access to a wide range of design guidelines, tools, and best practices specifically tailored for UI design. The hub covers guidelines for different devices such as watches, phones, large screens, and TVs, offering a unified approach for all platforms. We strongly encourage developers to explore this invaluable resource for concrete guidance and meaningful insights into creating user-friendly interfaces.

iOS

GCD primitives in depth: serial queue

Source: Medium

This article delves into the concept of Grand Central Dispatch (GCD) with a specific emphasis on multithreading. The author starts by providing an introduction to the fundamentals of GCD, shedding light on its key components like queues and work item dispatching and exploring typical use cases of multithreading. Notably, it offers code examples that effectively demonstrate the creation and utilization of serial queues in real-world scenarios. If you’ve been seeking clarity on this concept and related topics such as thread safety, queue hierarchy, and task execution order, this article is a must-read for you.

Measuring ping in iOS apps: a simple solution

Source: Medium

Server ping plays a crucial role in analytics collection as it enables the assessment of server availability and measures data transmission delay. Using pinging, server monitoring, performance tracking, and network connection stability can be ensured, providing invaluable information for decision-making, optimizing performance, and generating reports.

Now, let’s delve into the essence of this article. It provides a comprehensive discussion on a straightforward solution for measuring network ping in iOS applications. The author introduces an approach that leverages the Reachability and SystemConfiguration frameworks offered by Apple, guiding readers through the implementation process with clear step-by-step instructions. The article includes code snippets and explanations, enabling you to grasp the concept and seamlessly integrate the ping measurement functionality into your iOS applications.

Undoubtedly, this article is a must-read for anyone seeking to incorporate ping measurement capabilities into their iOS applications.

iOS 17: what should you pay attention to?

On June 5th, the much-anticipated release of the first beta version of iOS 17 for authorized developers took place. This version of the operating system had already been unveiled at WWDC 2023, but it didn’t generate much excitement due to minimal changes and a lack of noticeable external differences compared to the previous version. However, there are still a few noteworthy aspects worth highlighting, and we’ve compiled some useful links below along with our comments:

  • A meticulous and visual breakdown of the new macro system in Xcode 15, using the implementation of a structure initializer as an example.
  • Apple finally splurged to create its own tool for testing push notifications. Details can be found here.
  • A new method for UIViewController, where frames and layouts are now calculated during its invocation, remaining compatible with iOS 13. You can read about it here.
  • A very thorough and easy-to-understand essay on what your SwiftData is all about.
  • A brief analysis of the changes iOS 17 has brought to UIKit.
  • And here, you can see the full list of Apple’s announced changes – both from a developer’s and an ordinary user’s perspective.
iOS 17

General

Why I quit my job at Google to work in local government

Source: Medium

From the Sky to the Earth, or “From Google to Government: An Unexpected Journey of a UX Designer” – what do you think of that? Immerse yourself in the captivating story of a designer who dared to leave the glamor of Silicon Valley to embark on a mission to transform local government services. Discover how this bold step led to a profound change in perspective on life and work, prioritizing user needs and community impact. The author shares insights on the untapped potential of civic technologies and how they are shaping the future of digital technologies for the better. Yes, it challenges traditional career paths, and we believe it’s worth a read.

I used ChatGPT every day for 5 months. Here are some hidden gems that will change your life

Source: Medium

As you browse through LinkedIn or engage with popular conferences, it’s impossible to ignore the ubiquitous discussions about AI. The fascination with this technology has spread across various captivating social and media platforms, and rightfully so! Now, let’s delve into an article that uncovers the lesser-known features of ChatGPT that surpass the ordinary. Brace yourself for an exploration of video summarization, article and document summarization, image scanning and description, as well as the innovative applications of ChatGPT as a personal language tutor or math teacher. The author of this article generously shares their personal experience, revealing how these hidden gems have not only saved them valuable time but also enhanced their learning journey. Get ready to uncover the power of these remarkable features!

 

Big announcements in the AI world from TikTok, Boston Dynamics, Replit, and Apple

Source: Medium

To stay up-to-date with the aforementioned article, let’s explore the latest AI advancements from prominent tech giants. This article highlights remarkable innovations from companies like TikTok, Boston Dynamics, Replit, and Apple. Here are some highlights:

  • TikTok introduces AI-generated avatars created from user-uploaded photos.
  • Boston Dynamics integrates ChatGPT into its Spot robot, enabling comprehensive communication with humans and expanding its range of applications.
  • Replit Code version 1.3b, an open-source LSTM language model, proves to be a powerful tool for software development.
  • Apple’s Quartz, an AI-based medical coaching service, utilizes personalized coaching programs based on Apple Watch data to promote a healthier lifestyle.

These developments, though just a glimpse, demonstrate the wide array of AI applications and their potential for shaping the future across various industries. This article serves as a catalyst for profound reflection and the generation of fresh ideas.

10 powerful visuals about psychology & life

Source: Medium

Demoralization has become increasingly common while reading posts and scrolling through feeds. One such story revolves around a girl who worked as a QA, left her previous job, and has been tirelessly searching for a new opportunity for the past four months. Unfortunately, she has received responses from only 5-6 job openings. Another account involves a guy who dedicated seven months to self-improvement and learning Flutter but has yet to secure even an internship opportunity (by the way, Innowise is currently actively seeking interns in various fields). Such stories can be disheartening for those who come across them.

These humorous visuals serve as a stark reminder of individuals’ own experiences when they were on the hunt for their first job. It is recognized that challenging times necessitate considerable effort. The belief firmly held is that achieving goals is a long-distance journey that intermittently requires taking breaks and resting to gather the strength needed to persist and avoid abandoning the endeavor midway. Whenever motivation wanes and weariness sets in from reading various inspiring texts, solace is found in a collection of captivating and motivational images. These images function as reminders of the extensive path traveled and reinforce the significance of perseverance and unwavering determination.

Testing the incredible claims made by developers of an encrypted messaging application

Source link

This article is a treat for tech enthusiasts. It meticulously examines the assertions made by messaging app developers regarding their security features, outlines methods to validate these claims, and reveals the resulting outcomes. The author’s curiosity was piqued by a bold statement made by Converso, an Android app, promising end-to-end encryption, message non-retention on servers, and zero user data or metadata storage. Intrigued by these claims and their implications, the author embarked on an investigative journey, the details of which can be explored by following the provided link (trust us, it’s well worth the read). We found the content to be immensely valuable, particularly for individuals venturing into the realm of data security and privacy.

Design: how to build apps in Arabic

Source link

In this article, you’ll discover a wealth of knowledge from a design team that has accomplished numerous projects featuring Arabic interfaces. This article offers invaluable insights and recommendations gleaned from their past mistakes, making it an indispensable resource worthy of bookmarking and referencing whenever the need arises. Given the rapid growth of the Arabic IT market, it is undeniably worthwhile to stay attuned to its developments. Prepare to expand your horizons and gain valuable expertise in this ever-evolving landscape.

My entire 20-year career is technical debt or legacy code

Source link

It may sound like a sad beginning with a hint of disappointment, but in reality, the article is not about that. The author shares their 20-year journey in development (VB Basic, Perl, Delphi, Fortran, FoxPro, ColdFusion, ActiveX, Java Applets, Flash, Silverlight, Swift, Objective-C, WebForms, Angular JS, and more), but that’s not the main focus. They explain why every career eventually becomes technical debt and how to approach technology to stay afloat and remain a sought-after professional.

Thank you for rating!
Thank you for comment!
author
Eugene Shapovalov Head of Mobile

Table of contents

Rate this article:

4/5

4.8/5 (45 reviews)

Related content

Blog
Breaking boundaries Innowise ranks among Top 100 Fastest-Growing Companies for 2023
Blog
Innowise mobile dev digest
Blog
Google's Carbon language might replace C++
Blog

Brought us a challenge?

    Please include project details, duration, tech stack, IT professionals needed, and other relevant info
    Record a voice message about your
    project to help us understand it better
    Attach additional documents as needed
    Upload file

    You can attach up to 1 file of 2MB overall. Valid files: pdf, jpg, jpeg, png

    Please be informed that when you click the Send button Innowise will process your personal data in accordance with our Privacy Policy for the purpose of providing you with appropriate information.

    What happens next?

    1

    Having received and processed your request, we will get back to you shortly to detail your project needs and sign an NDA to ensure the confidentiality of information.

    2

    After examining requirements, our analysts and developers devise a project proposal with the scope of works, team size, time, and cost estimates.

    3

    We arrange a meeting with you to discuss the offer and come to an agreement.

    4

    We sign a contract and start working on your project as quickly as possible.

    Thank you!

    Your message has been sent.
    We’ll process your request and contact you back as soon as possible.

    This website uses cookies

    We use cookies to enhance your browsing experience, serve personalized ads or content, and analyze site traffic. By clicking “Accept all”, you consent to our use of cookies. Check out our Privacy Policy.

    Thank you!

    Your message has been sent.
    We’ll process your request and contact you back as soon as possible.

    arrow