React Native versus Cordova
React vs Cordova

Technological events and trends in the past few years have shown that mobile technology is indeed the future. JavaScript has been a major tool towards achieving this mobile technology world. However, JavaScript, as it was, did not satisfy every need that the mobile development world had, which led to the creation of JavaScript frameworks. These frameworks are somewhat complex plugins which are built around JavaScript to help with the development and management of lightweight mobile apps. Two of the most popular JavaScript frameworks today are React Native and Cordova. From the surface, it may be easy to assume that these two frameworks work the same and can be switched. However, the selection of either of these frameworks depends largely on developer needs and how either of these frameworks delivers these requirements (or their failure to do so).

Before diving into the differences, it is important to understand how these two frameworks differ in their core functioning.

How Cordova Works

Cordova works by placing all the components of a mobile application in a web view. By creating a web environment around the application, Cordova enables developers to use web technologies to develop the application. Applications developed using Cordova usually incorporate web elements such as HTML, CSS, and JavaScript. The result is a web application which runs on mobile devices.

How React Native Works

Unlike Cordova, React Native does not incorporate every web application element into an application. Instead, it uses the Google V8 engine to embed JavaScript logic into the native build (native here means the language which the application is developed from, specific to the operating system which the device uses). In other words, React Native only uses the JavaScript component of web development to compile the different native components of the application. The result is a high-performance user interface.

Comparing React Native with Cordova

As earlier mentioned, the differences between these two frameworks are evident in their functioning. The following are some of the differences that stand out.

Philosophy

The world of coding runs on a common principle of “write once, reuse everywhere” and this is the kind of concept which Cordova adapts. With Cordova, applications which were initially developed to be web platforms can be translated easily into a mobile application. The benefit here is that there is a high level of code reuse made possible by Cordova, so a developer can simply take the pre-written code and translate it into a Cordova-based mobile application.

With React Native, however, coding is a little different. Because React Native builds JavaScript around Native codes (such as Java and Objective C), code reuse is not supported to a great extent. React N uses a “learn once, write everywhere” policy. It becomes impossible to adapt code from one platform to the other because they are built around native codebases. Sometimes, developers prefer if elements such as UI to retain native elements to their specific platforms, perhaps for faster performance. React Native provides a framework for such concepts more efficiently compared to Cordova.

Liberty to Develop

Cordova works by running single page applications on mobile devices using their inbuilt web browsers (WebView). However, instead of running them as web applications, it wraps them as native applications so that users appear to be using mobile apps instead of navigating through websites. This gives developers the freedom to work with any available framework or library. Cordova simply helps them to bundle any of the web technologies available into a mobile app.

React Native differs from Cordova in that it is built around the React framework (as the name implies). Furthermore, React N does not use the typical web tools such as HTML and CSS to implement its platforms. It uses JavaScript for all these functions. Styles are written inline with functions instead of using CSS. React Native also has its packaging tool called JavaScriptCore which is used to package most of the functional code, eliminating the need for native mobile application code to handle them.

Look and Feel

Since Cordova applications are web applications, there are some components which users may find irritating or strange at first. Visual responses, especially, can be a bit problematic. There have been reports of delays when it comes to tapping buttons or even scrolling of screens. This is perhaps because while they may look like native applications, Cordova apps are running on web platforms and not directly on the mobile device native software. There is also no access to native mobile controls; they would have to be re-created or implemented through existing native modules. This would still require the use of third-party libraries and more effort from developers.

React Native, however, offers access to native components of mobile applications. But even with the access of these components, one would have to do more work into adding specific native components for specific native environments. This is because some components of one platform may not be available in another, and it is up to the developer to integrate what the application will need into the codebase of the application.

Performance

Because Cordova runs on a WebView, it is susceptible to the limitations of WebView as a platform. The Single-threaded nature of JavaScript also places our applications in the danger of bugs if a lot is going on. These issues make Cordova based applications significantly slow and non-responsive, especially when it comes to animations.

React Native favors multiple threading during development. What this means is that every element of the user interface can run on its thread, making them easier to develop and debug. React Native links to native views, releasing the heavy processing load from JavaScript back to the native platforms and, therefore, reducing delays.

Latest Articles

September 2, 2024
How to Use Artificial Intelligence in Creating Content for RPG Games

Introduction The World of Artificial Intelligence (AI) and Its Application in Content Creation for RPG Games Recently, the world of IT technology has been actively filled with various iterations of artificial intelligence. From advanced chatbots that provide technical support to complex algorithms aiding doctors in disease diagnosis, AI’s presence is increasingly felt. In a few years, it might be hard to imagine our daily activities without artificial intelligence, especially in the IT sector. Let’s focus on generative artificial intelligence, such as TensorFlow, PyTorch, and others, which have long held an important place in software development. However, special attention should be given to the application of AI in the video game industry. We see AI being used from voice generation to real-time responses. Admittedly, this area is not yet so developed as to be widely implemented in commercially available games. But the main emphasis I want to make is on the creation and enhancement of game content using AI. In my opinion, this is the most promising and useful direction for game developers. The Lack of Resources in Creating Large and Ambitious RPG Games and How AI Can Be a Solution In the world of indie game development, a field with which I am closely familiar, the scarcity of resources, especially time and money, is always a foremost challenge. While artificial intelligence (AI) cannot yet generate money or add extra hours to the day (heh-heh), it can be the key to effectively addressing some of these issues. Realism here is crucial. We understand that AI cannot write an engaging story or develop unique gameplay mechanics – these aspects remain the domain of humans (yes, game designers and other creators can breathe easy for now). However, where AI can truly excel is in generating various items, enhancing ideas, writing coherent texts, correcting errors, and similar tasks. With such capabilities, AI can significantly boost the productivity of each member of an indie team, freeing up time for more creative and unique tasks, from content generation to quest structuring. What is Artificial Intelligence and How Can it be Used in Game Development For effective use of AI in game development, a deep understanding of its working principles is essential. Artificial intelligence is primarily based on complex mathematical models and algorithms that enable machines to learn, analyze data, and make decisions based on this data. This could be machine learning, where algorithms learn from data over time becoming more accurate and efficient, or deep learning, which uses neural networks to mimic the human brain. Let’s examine the main types of AI Narrative AI (OpenAI ChatGPT, Google BERT): Capable of generating stories, dialogues, and scripts. Suitable for creating the foundations of the game world and dialogues. Analytical AI (IBM Watson, Palantir Technologies): Focuses on data collection and analysis. Used for optimizing game processes and balance. Creative AI (Adobe Photoshop’s Neural Filters, Runway ML): Able to create visual content such as textures, character models, and environments. Generative AI (OpenAI DALL-E, GPT-3 and GPT-4 from OpenAI): Ideal for generating unique names, item descriptions, quest variability, and other content. By understanding the strengths and weaknesses of each type of AI, developers can use them more effectively in their work. For example, using AI to generate original stories or quests can be challenging, but using it for correcting grammatical errors or generating unique names and item descriptions is more realistic and beneficial. This allows content creators to focus on more creative aspects of development, optimizing their time and resources. An Overview of the Characteristics of Large Fantasy RPG Games and Their Content Requirements In large fantasy RPG games, not only gameplay and concept play a pivotal role, but also the richness and variability of content – spells, quests, items, etc. This diversity encourages players to immerse themselves in the game world, sometimes spending hundreds of hours exploring every nook and cranny. The quantity of this content is important, but so is its quality. Imagine, we offer the player a relic named “Great Heart” with over 100 attribute variations – that’s one approach. But if we offer 100 different relics, each with a unique name and 3-4 variations in description, the player’s experience is significantly different. In AAA projects, the quality of content is usually high, with hundreds of thousands of hours invested in creating items, stories, and worlds. However, in the indie sector, the situation is different: there’s a limited number of items, less variability – unless we talk about roguelikes, where world and item generation are used. A typical feature of roguelikes is the randomization of item attributes. However, they rarely offer unique generation of names or descriptions; if they do, it’s more about applying formulas and substitution rules, rather than AI. This opens new possibilities for the use of artificial intelligence – not just as a means of generating random attributes, but also in creating deep, unique stories, characters, and worlds, adding a new dimension to games. Integrating AI for Item Generation: How AI Can Assist in Creating Unique Items (Clothing, Weapons, Consumables). One of the practical examples of using AI is creating variations based on existing criteria. Why do I consider this the best way to utilize AI? Firstly, having written the story of your game world, we can set limits for the AI, providing clear input and output data. This ensures a 100% predictable outcome from AI. Let’s examine this more closely. When talking about the world’s story, I mean a few pages that describe the world, its nature, and rules. It could be fantasy, sci-fi, with examples of names, unique terminology, or characteristic features that help AI understand the mood and specifics of the world. Here is an excerpt from the text I wrote for my game world. The Kingdom of Arteria is an ancient and mysterious realm, shrouded in secrets and imbued with a powerful form of dark magic. For centuries, it has been ruled by Arteon the First, a wise and just monarch whose benevolence has brought peace and prosperity to his…

February 23, 2024
Beyond the Hype: The Pragmatic Integration of Sora and ElevenLabs in Gaming

Enthusiasts have introduced a remarkable feature that combines Sora’s video-generating capabilities with ElevenLabs’ neural network for sound generation. The result? A mesmerizing fusion of professional 3D locations and lifelike sounds that promises to usher in an era of unparalleled creativity for game developers. How It Works In the context of game development, it should have looked like this: Capture Video with Sora: People start by capturing video content using Sora, a platform known for its advanced video generation capabilities. Luma Neuron Transformation: The captured video is then passed through the Luma neuron. This neural network works its magic, transforming the ordinary footage into a spectacular 3D location with professional finesse. Unity Integration: The transformed video is seamlessly imported into Unity, a widely-used game development engine. Unity’s versatility allows for the integration of the 3D video locations, creating an immersive visual experience that goes beyond the boundaries of traditional content creation. Voilà! The result is nothing short of extraordinary – a unique 3D location ready to captivate audiences and elevate the standards of digital content. A Harmonious Blend of Sights and Sounds But the innovation doesn’t stop there. Thanks to ElevenLabs and its state-of-the-art neural network for sound generation, users can now pair the visually stunning 3D locations with sounds that are virtually indistinguishable from reality. By simply describing the desired sound, the neural network works its magic to create a bespoke audio experience. This perfect synergy between Sora’s visual prowess and ElevenLabs’ sonic wizardry opens up a realm of possibilities for creators, allowing them to craft content that not only looks stunning but sounds authentic and immersive. OpenAI’s Sora & ElevenLabs: How Will They Impact Game Development? The emergence of tools like OpenAI’s Sora and ElevenLabs sparks discussions about their potential impact on the industry. Amidst the ongoing buzz about AI revolutionizing various fields, game developers find themselves at the forefront of this technological wave. However, the reality may not be as revolutionary as some might suggest. Concerns Amidst Excitement: Unraveling the Real Impact of AI Tools in Game Development Today’s AI discussions often echo the same sentiments: fears of job displacement and the idea that traditional roles within game development might become obsolete. Yet, for those entrenched in the day-to-day grind of creating games, the introduction of new tools is seen through a more pragmatic lens. For game developers, the process is straightforward – a new tool is introduced, tested, evaluated, and eventually integrated into the standard development pipeline. AI, including platforms like Sora and ElevenLabs, is perceived as just another tool in the toolkit, akin to game engines, version control systems, or video editing software. Navigating the Practical Integration of AI in Game Development The impact on game development, in practical terms, seems to be more about efficiency and expanded possibilities than a complete overhaul of the industry. Developers anticipate that AI will become part of the routine, allowing for more ambitious and intricate game designs. This shift could potentially lead to larger and more complex game projects, offering creators the time and resources to delve into more intricate aspects of game development. However, there’s a sense of weariness among developers regarding the constant discussion and hype surrounding AI. The sentiment is clear – rather than endlessly discussing the potential far-reaching impacts of AI, developers prefer practical engagement: testing, learning, integrating, and sharing insights on how these tools can be effectively utilized in the real world. OpenAI — for all its superlatives — acknowledges the model isn’t perfect. It writes: “[Sora] may struggle with accurately simulating the physics of a complex scene, and may not understand specific instances of cause and effect. For example, a person might take a bite out of a cookie, but afterward, the cookie may not have a bite mark. The model may also confuse spatial details of a prompt, for example, mixing up left and right, and may struggle with precise descriptions of events that take place over time, like following a specific camera trajectory.” So, AI can’t fully create games and its impact might be limited. While it could serve as a useful tool for quickly visualizing ideas and conveying them to a team, the core aspects of game development still require human ingenuity and creativity. In essence, the introduction of AI tools like Sora and ElevenLabs is seen as a natural progression – a means to enhance efficiency and open doors to new creative possibilities. Rather than a radical transformation, game developers anticipate incorporating AI seamlessly into their workflow, ultimately leading to more expansive and captivating gaming experiences.

August 8, 2023
Tactile Training: Revolutionizing Hazardous Industry Preparation with XR and Haptic Technologies

This article was written by our CEO Olga Kryvchenko and originally published on Linkedin. To get more biweekly updates about extended reality, subscribe to Olga’s XR Frontiers LinkedIn newsletter. The power of touch has long been recognized as a potent sensory modality. With the rise of Extended Reality (XR) technologies, touch, or more precisely, haptic feedback, has found its profound significance. Especially in hazardous industries, where direct training poses risks, XR combined with haptic feedback offers a revolutionary approach. Understanding Haptic Feedback At its core, haptic feedback simulates the sense of touch and movement. This tactile feedback, when incorporated in digital interfaces or XR environments, provides users with realistic sensations ranging from a gentle breeze to a jolt from a virtual electric shock. The Evolution of Haptic Devices While the rudimentary concept of haptic technology revolves around vibrations, contemporary haptic devices offer far more intricate feedback. – Glove-based Systems: Pioneering the future of touch in XR, these gloves simulate intricate textures, temperatures, and resistances. Users can virtually touch a hot surface or feel the graininess of sand. – Vest Systems: These aren’t your average vests. They’re equipped to simulate everything from the impact of a bullet to the gentle tap on the shoulder. – Treadmills and Platforms: Beyond letting users walk or run in a virtual space, these devices offer gradients, and resistances, and even simulate different terrains. – Haptic Controllers: These handheld devices can simulate weight, resistance, and more. They’re often used in XR setups where precision is required, like machinery operation or surgical training. Spotlight: Some XR Haptic Innovations 1. Manus Meta Gloves: Advanced haptic gloves that simulate intricate tactile experiences within virtual spaces, ideal for hazardous industry simulations. 2. SenseGlove: Offering unparalleled haptic feedback, this device simulates realistic touch sensations, ensuring authentic training experiences in hazardous industries. 3. Electric Haptic Vest: A revolutionary vest that provides electric haptic feedback, enabling users to feel virtual impacts, touches, and temperature changes, enhancing training realism. These innovations are setting the benchmark for immersive XR training in high-risk sectors, ensuring both safety and efficacy. Incorporating Haptics in XR Training for Dangerous Industries Haptic feedback is not just a fancy addition; it’s a necessity in industries where mistakes can be catastrophic. 1. Realistic Hazard Simulation: XR environments equipped with haptic feedback allow trainees to understand and feel dangerous situations, like the rumble of an impending mine collapse or the heat from an electrical malfunction. 2. Skill Refinement: Fine motor skills can be honed in a virtual space. Imagine a trainee learning to operate a chainsaw; with haptic feedback, they can feel the tug, the resistance, and even the vibration, all without the real danger. 3. Emergency Protocols: Virtual emergencies can prepare employees for real-world crises. These drills aren’t just visual or auditory; haptic feedback ensures they are physically intuitive. Looking Ahead: The Future of Haptic XR Training The fusion of haptic devices and XR promises a future where training for even the most hazardous jobs is thorough, intuitive, and above all, safe. As the fidelity of haptic feedback continues to improve, the line between virtual training and real-world operation will further blur, leading to a workforce that’s adept and prepared for any challenges. In an era dominated by technological advancements, haptic feedback stands out as a game-changer for XR training in dangerous industries. It’s not just about seeing or hearing; it’s about feeling, and that tactile element ensures that trainees are not only knowledgeable but are also instinctively prepared for real-world scenarios. Image: Freepik



Let's discuss your ideas

Contact us