Our New Website Built with React Native

Using React Native with the Tamagui framework the build mobile & web apps.

Migeran

5 min read

Our new website is a work in progress, please let us know what more you would like to see.

Why React Native?

Our website needed an overhaul for quite some time now. When deciding on how exactly we wanted to build our new website, we considered a variety of options:

  • Using a SaaS Website Builder like Wix or Squarespace
  • Using a self-hosted website solution like Wordpress or Drupal
  • or build a custom website using React

We have been working with React and React Native for a long time and understand its strengths and limitations well. We also have been experts at creating cross-platform applications for over a decade - we built cross-platform mobile apps in Java targeting 4 different mobile platforms (J2ME, BlackBerry, Android and iOS) from one code base back in the early 2010s.

Based on our experience we believe that using React Native for Mobile, Web and even the Desktop (e.g. using Electron as a shell or with React Native for Windows) is the next logical step for cross-platform app development.

Is a Website really an App?

A company website's core function is to aid the company's business in multiple ways:

  • increase brand awareness
  • build a following
  • provide means to purchase the goods and services offered by the company.

To achieve these goals a website needs to be more than just a collection of static pages:

  • It needs to include lead generation functions, even if it is only a simple contact or newsletter signup form.
  • It needs to include webshop functionality if there are services or products offered for purchase directly on the website
  • It should provide a way to customize the user experience for each visitor depending on their journey with the company: if they are a first-time or returning visitor, if they already signed up for the newsletter or if they are already a customer.
  • Finally, it should have an easy-to-use backend UI for the company to manage the collected data, upload and edit content, design new marketing campaigns ... etc.

All these require dynamic functionality both on the client side and the server side, which means that we are talking about a full-fledged web application.

Single Framework for Web and Mobile

In today's mobile-first world, as a company grows a true mobile app will be required to provide an even better experience for its customers and match the offerings of their competitors.

Traditionally, such mobile apps would be developed separately from the website frontend and even in the best case, only share the backend of the web application.

Using related frameworks, like React for the website and React Native for the mobile app helps because both teams can use the same technologies and tooling. But direct code sharing is limited to the business logic and requires careful abstraction of the user interface and platform-specific code base by both teams.

Using React Native for Web is a solution for this problem by reimplementing React Native UI primitives (like Views, Lists ... etc.) using web components that work in the browser.

A growing number of third-party React Native components now also support the Web as a 3rd platform in addition to Android and iOS.

This approach, first used by Twitter in their Mobile Web App, greatly increases the code-sharing possibilities and allows a single frontend team to work on both the web and the mobile applications.

What is Tamagui?

Using stock React Native (and React Native for Web) and building everything in-house on top of it is possible, but ignores a lot of great libraries and frameworks that are already available as open-source components.

There is already a growing number of universal app libraries that target both Mobile and Web apps, like NativeBase  or Dripsy .

We chose Tamagui , a new framework in this space for the following reasons:

  • Ease of Use
  • Flexible styling system
  • Superior Performance
  • First-class support for responsive server-side rendering on the Web.

Release early, release often

Following the old mantra from the open-source and free software movement, we are releasing today the first version of our new website, built on React Native with Tamagui. This is now a mostly static frontend pre-generated using NextJS.

On the website, you can check out the services we offer, our current and past projects and you may contact us easily if you have a question or would like to use our services.

Going Forward

We are already working on the next steps. To quickly create content, a Visual Editor with a backend CMS is essential. We are already working on a visual editor for React & React Native using Frappe Framework  and ERPNext  as the backend.

Sign up for our newsletter to be the first to know about updates on this topic or any other insights that we share.

About Migeran

Migeran is a full-service software engineering company. In the past 15 years, we have been delivering software projects for our clients in a large variety of markets using a broad set of technologies, including:

  • AR / VR solutions based on Godot Engine and Unreal Engine
  • Native and cross-platform mobile apps built in Java / Kotlin, Swift / Objective-C and JavaScript / TypeScript with React Native.
  • Business applications based on Web and Mobile frontends and Java, Python, Ruby and PHP backend

Our first own product, Migeran for iOS was acquired by Intel in 2015 and released as the Multi-OS Engine.

We are available for new projects, you may contact us if you would like to learn more or have a project that you would like to discuss with us.

Share this post on Twitter.