Reactive Programming for the New Mobile Stack – InApps is an article under the topic Software Development Many of you are most interested in today !! Today, let’s InApps.net learn Reactive Programming for the New Mobile Stack – InApps in today’s post !

Key Summary

This article from InApps Technology, authored by Phu Nguyen and featuring insights from Alexander Stigsen (co-founder and CEO of Realm), discusses the challenges of traditional mobile app development and proposes a reactive programming approach for a modern mobile stack. It emphasizes aligning mobile and backend architectures to leverage the full potential of mobile devices, focusing on data handling and synchronization. Key points include:

  • Challenges of Traditional Mobile Development:
    • Web-Based Legacy: Mobile apps rely on server-side stacks rooted in web patterns (e.g., RESTful APIs, JSON), which are not optimized for mobile needs.
    • Data Handling Issues: Involves complex processes like building endpoints, serializing data (e.g., SQL to JSON to mobile formats), and managing distinct databases (PostgreSQL for servers, SQLite/ORM for devices).
    • Fragility: Changes in any part of the stack (backend or mobile) introduce errors, increasing maintenance efforts for both teams.
  • Four Principles for the New Mobile Stack:
    • Event-Driven:
      • Shift from request-driven (HTTP/streaming) to event-driven architectures.
      • Sync and react to app events (e.g., button clicks) on both client and server, moving logic from request callbacks to event-driven functions.
    • Data Must Flow:
      • Data should sync seamlessly between server and clients without manual networking/serialization code.
      • Provide control over conflict resolution and feedback on data freshness/sync status.
    • Data Sticks:
      • Ensure data persists locally for offline use, maintaining app functionality during connectivity loss (e.g., in elevators).
    • Pragmatic Logic:
      • Enable mobile developers to write serverless, server-side logic without learning new frameworks, simplifying feature deployment.
  • Implementing the New Mobile Stack:
    • Reactive Approach: Build real-time data synchronization into the data layer, requiring minimal code for app-wide sync.
    • Offline Support: Local client databases store data, ensuring functionality during offline periods.
    • Mobile-First Tools: Provide access control and authentication that mobile developers can implement without server-side coding.
    • Benefits: Enhances developer productivity, reduces maintenance challenges, and aligns with mobile-specific needs.
  • Realm’s Contribution:
    • Realm Platform: A leading mobile data platform embedded in over 3.5 billion mobile apps, designed for reactive, real-time data sync.
    • Realm Academy: A free repository of written, audio, and video content to train developers on modern mobile tools for iOS, Android, and other platforms, aimed at experienced developers adopting reactive programming.
  • Vision:
    • The new mobile stack enables developers to build sophisticated, mobile-first apps without the constraints of web-derived architectures, leveraging tools that reflect mobile device capabilities.
  • InApps Insight:
    • InApps Technology leverages reactive programming and Realm principles, integrating Microsoft’s Power Platform and Azure, using Power Fx for low-code reactive solutions and Azure Durable Functions for scalable, event-driven workflows.
    • Combines Node.js, Vue.js, GraphQL APIs (e.g., Apollo), and Azure to deliver seamless, data-driven mobile apps, targeting startups and enterprises with Millennial-driven expectations.
Read More:   Npm Tightens Unpublishing Policy after the Internet-Disrupting Kik Fracas – InApps 2022

Read more about Reactive Programming for the New Mobile Stack – InApps at Wikipedia

You can find content about Reactive Programming for the New Mobile Stack – InApps from the Wikipedia website

Alexander Stigsen

Alexander is co-founder and CEO of Realm, the leading mobile data platform embedded in over 3.5 billion mobile applications.

Where one technological advance starts, the rest of an industry must catch up to the potential of that technology with whatever tools they have. And that’s why, even though we’ve had an iPhone for a decade, we’re still struggling to make apps that make the most use of its capacities.

The problem wasn’t really all that much to do with the iPhone, but with the fact that most great apps aren’t that great until they connect to a server, and, consequently, to other users and clients. That’s the foundation for great mobile work. And it means that a mobile stack also requires a server and backend stack.

That server-side stack that mobile apps depend on looks a lot like the web stack, and follows web patterns because that’s where we started. We took server-side frameworks, made building RESTful APIs with them easier, and asked for JSON in response to the same requests our websites used to make. Those were the tools we had, and we’ve definitely made them work — in the last decade, it’s also become a lot easier to stream data instead of simply sticking to requests and responses, which sure feels a lot more natural for always-connected mobile devices.

When you finally get your backend and mobile teams together, you might notice just how much work it takes just to get the two stacks to talk to one another.

But the cost of building on top of a stack rooted in the web is enormous. When you finally get your backend and mobile teams together, you might notice just how much work it takes just to get the two stacks to talk to one another. For every view in an app, and every action you can take in that view, you must solve a difficult problem: how to make mobile apps speak in the language of a server-side world that evolved before we understood what mobile apps needed.

Read More:   WP Engine Goes ‘Headless,’ Jumps into the Jamstack – InApps Technology 2022

The biggest, most painful problem in making two incommensurate stacks work together is in dealing with your app’s data. First, you have to transport it. That means work building endpoints for your backend engineers, and work building and parsing requests to those endpoints for your mobile devs. And along the way, you’ll also have to serialize your data many times: from SQL on the backend’s database to JSON that can be sent over the wire, and finally to something that you can actually interact within a helpful way in a mobile app. And finally, you’ll need to persist that data so that it’s easy to use and performant to store and access, which currently means mastery over two distinct database technologies — like PostgreSQL on the server, and SQLite plus a related ORM on your device.

In every step of this delicate dance, there is fragility that shows itself whenever any code along this path changes. And that fragility takes its toll on your engineers on both teams.

Four Principles for the New Mobile Stack

If the problem is doing things with data, then the road to a solution lies in understanding what mobile apps need from their data and their databases.

Thinking about this set of problems, and how we’ve attacked them at Realm, I’ve developed four principles for the New Mobile Stack:

1. Event-driven

Mobile development must be event-driven, not request-driven. Apps are full of buttons and actions and the consequences of use, and HTTP requests or streaming protocols are the things into which we have to shoehorn those actions. As an alternative, let’s make it easy to create and sync the events at the core of your app’s behavior, and to react to those events on the client and server.

Along the way, we’ll end up moving a lot of our logic out of request success callbacks and into functions that are called as data is created or updated.

2. Data Must Flow

Data must flow, not be pushed or requested. We can take it for granted that app use will generate data. We should be able to take it for granted that that data can be synced to the server and to other clients without writing all the networking and serialization code that we currently are required to do. Data flow should be abstracted away from data operations, allowing you to focus on using that data for your users.

We’ll also need the ability to be explicit about how our data moves, by giving developers control over conflict resolution, and tools to let users know whether their data is fresh and actively syncing.

Read More:   Which Is the Future of Web Architecture? – InApps 2022

3. Data Sticks

When you go offline, the data should still there. Mobile use means you won’t always be connected — and right now, it just takes a closing elevator door for you to see just how tenuous your ability to use an app is. With persistent local data, you can still access, create, and edit the data that makes an app useful.

4. Pragmatic Logic

Any mobile dev should be able to write server-side and client-side logic. You shouldn’t have to rely on a backend team to ship a mobile feature. Instead, you ought to be able to write server-side, serverless code that reacts to data changes, as well as have access to an environment that lets you monitor and run that code without learning a whole new framework and language.

A New Hope: Putting the Mobile Stack into Practice

Taken together, these principles offer a mobile-first perspective on developing great apps. They enable greater developer productivity and happiness, and take away the enormous challenges we all have in simply trying to maintain sophisticated mobile apps. We just need the tools to be able to make these principles manifest.

New approaches have these ideas — in which reactivity underlies every operation — at the very core. By building seamless, real-time synchronization into the data layer from the start, it’s possible to sync data automatically between server and data with just a few lines of code for your whole app. That’s data that also stays in the local client database even when sync stops and it goes offline so that your app doesn’t go down with your user’s connection.

You also get all the server-side tools you need to build sophisticated apps, but with a mobile-first architecture — including access control and authentication that mobile developers can implement without a line of server-side code.

New mobile stacks are being built with the hope that developers can create the apps that they’re really dreaming of with technology that reflects what’s needed and works best on mobile. There is a learning curve for developers to learn how to build reactive mobile apps using these innovative tools that are part of the new mobile stack, which is why we created Realm Academy, a comprehensive and free repository of written, audio and video content and training on the most popular mobile development tools and methodologies, across Apple iOS, Google Android, and other mobile platforms. Aimed at experienced developers looking to learn and refine their skills working with the latest solutions, the goal is for everyone to be able to work without distractions, without sacrifices, or without having to constantly accommodate a stack that was in place long before anyone held an iPhone.

Feature image by Jamison McAndie, via Unsplash.

Source: InApps.net

Rate this post
As a Senior Tech Enthusiast, I bring a decade of experience to the realm of tech writing, blending deep industry knowledge with a passion for storytelling. With expertise in software development to emerging tech trends like AI and IoT—my articles not only inform but also inspire. My journey in tech writing has been marked by a commitment to accuracy, clarity, and engaging storytelling, making me a trusted voice in the tech community.

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Get a custom Proposal

Please fill in your information and your need to get a suitable solution.

    You need to enter your email to download

      Success. Downloading...