5 min read
Our new website is a work in progress, please let us know what more you would like to see.
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:
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.
A company website's core function is to aid the company's business in multiple ways:
To achieve these goals a website needs to be more than just a collection of static pages:
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.
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.
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.
We chose Tamagui , a new framework in this space for the following reasons:
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.
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.
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:
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.