Unity vs Unreal Engine 5: Which is Better?

Game development is currently experiencing a major boom and game developers are becoming more enthusiastic than ever. They’ve been on a constant hunt for the best game development tools. Talking about game development tools, Unity vs Unreal is a significant game development battle.

The popularity of these two game development engines has enhanced multifold in the past few years. Thanks to the robust and numerous features of the two, game developers can create hyper-realistic games through their help.

If you’re a game developer or gaming fanatic, this blog is a useful resource for you to understand the dynamics of Unity vs Unreal Engine 5. We’ll discuss the advantages and disadvantages of the two gaming engines and which one is more popular.

Without further ado, let’s begin!

What is Unity in Game Development?

Created by Unity Technologies, Unity is a cross-platform game development engine. It is extensively used by developers to create 2D and 3D games across multiple platforms, such as mobile devices, consoles, and PCs. Unity offers a comprehensive set of tools and features that simplify the game development process, making it accessible to both beginners and experienced developers.

Unity game development engine

First released in June 2005 at the Apple Worldwide Developers Conference as a Mac OS X game engine, it now supports multiple platforms, enabling developers to build their game once and deploy it across various devices, including iOS, Android, Windows, macOS, and major gaming consoles.

Note: The latest version of Unity, Unity 6, is now available for preview.

Features of Unity Game Engine

Features of Unity Game Engine

The significant features of Unity are as follows:

  • Integrated Development Environment (IDE)

Unity offers an intuitive and user-friendly interface where developers can design, develop, and test their games.

  • Cross-Platform Compatibility

Unity supports multiple platforms, allowing developers to build their game once and deploy it across different devices, including iOS, Android, Windows, macOS, and gaming consoles like PlayStation and Xbox.

  • Asset Store

Unity has an extensive asset store where developers can find pre-made assets such as characters, environments, sounds, and plugins to enhance their games.

  • Scripting

Unity uses C# as its primary scripting language, providing powerful capabilities for customizing game mechanics and behaviors.

  • Graphics and Physics Engines

Unity includes robust graphics and physics engines that enable realistic rendering and interaction within the game world.

  • Community and Support

Unity has a large, active community and a wealth of tutorials, documentation, and forums where developers can find support and share knowledge.

What are the Advantages of Unity Game Development?

Considered one of the most beginner-friendly game development platforms, the Unity engine has many benefits. In fact, this is what an anonymous Reddit user has to say:

“…….To conclude this poem, Unity from my perspective can bring my dream of making a game to life quicker than UE, and most importantly can fuel my motivation more easily.”

There are numerous advantages of Unity game development, thus making it a popular choice among game developers across the globe. The following are the noteworthy benefits of Unity:

  • User-Friendly Interface and Ease of Use

Unity’s integrated development environment (IDE) is known for its intuitive and user-friendly interface. This makes it accessible to beginners who are new to game development. The drag-and-drop functionality, combined with visual editing tools, allows developers to quickly prototype and iterate on their games without needing extensive coding knowledge.

  • Cross-Platform Compatibility

One of Unity’s standout features is its ability to build games for multiple platforms from a single codebase. Developers can create games for iOS, Android, Windows, macOS, Linux, WebGL, and major gaming consoles like PlayStation and Xbox. This cross-platform compatibility significantly reduces development time and effort, allowing developers to reach a broader audience with minimal additional work.

  • Extensive Asset Store

Unity’s Asset Store is a treasure trove of pre-made assets, including 3D models, animations, sound effects, and plugins. This allows developers to quickly find and integrate high-quality assets into their projects, speeding up the development process and reducing costs. The asset store also offers various tools and extensions that enhance the functionality of the Unity engine.

  • Scripting with C#

Unity uses C# as its primary scripting language, which is known for its ease of use and versatility. C# allows developers to implement complex game mechanics and behaviors efficiently. Additionally, Unity provides extensive documentation and a large community of developers who contribute tutorials and support, making it easier to learn and troubleshoot.

  • Graphics and Performance

While Unity is often compared to Unreal Engine 5 in terms of graphics capabilities, it holds its own with a robust graphics engine that supports advanced rendering techniques. Unity is well-suited for both 2D and 3D games, providing tools to create visually appealing games. When considering Unity vs. Unreal Engine 5, Unreal might have an edge in photorealistic graphics, but Unity excels in flexibility and ease of use for a wide range of projects.

  • Strong Community and Support

Unity boasts a large and active community of developers, which is a significant advantage. The community contributes to forums, shares knowledge, and collaborates on projects, providing a valuable resource for troubleshooting and learning. Unity Technologies also offers extensive documentation, tutorials, and support to help developers at all skill levels.

What are the Disadvantages of Unity Game Development?

While Unity offers numerous advantages, it also has some disadvantages that developers should consider. Here are some of the key drawbacks:

  • Performance Limitations

One significant disadvantage of Unity is its performance limitations, particularly for high-end, graphically intensive games. Compared to Unreal Engine, Unity’s graphics rendering capabilities are not as advanced. This can be a critical factor in the debate of Unreal Engine vs Unity, especially for developers aiming to create photorealistic environments or highly detailed 3D models.

  • Asset Overhead

Unity’s extensive asset store, while beneficial, can sometimes lead to issues with asset quality and optimization. Developers may rely heavily on third-party assets, which can result in inconsistent performance and visual quality. Managing and optimizing these assets to ensure smooth gameplay can be challenging, adding to development time and effort.

  • Limited Out-of-the-Box Tools

Unity provides a versatile platform, but some advanced features and tools may require additional plugins or custom development. For example, high-end visual effects, advanced physics, and certain AI functionalities often need third-party plugins or extensive scripting. In the comparison of Unreal Engine vs Unity, Unreal Engine offers more built-in tools and features for such complex requirements, potentially reducing the need for additional resources.

  • Complexity in Larger Projects

As projects scale up in size and complexity, Unity can become harder to manage. Large teams may struggle with version control and project organization. Unity’s component-based architecture, while flexible, can make maintaining clean and efficient codebases for extensive projects difficult.

  • Subscription Costs

While Unity offers a free version, the Pro version comes with subscription costs that might not be affordable for all developers, especially indie developers and small studios. The ongoing costs can add up, making budget management a concern. This financial aspect is often highlighted in discussions of Unreal Engine vs Unity, where Unreal Engine’s royalty-based model might be more attractive for some developers.

  • Limited High-End Visual Capabilities

Unity’s graphics engine, though robust, does not match the high-end visual capabilities of Unreal Engine. Developers looking for cutting-edge graphics often find Unreal Engine more suitable due to its superior rendering capabilities and advanced visual effects. This difference is crucial in the Unreal Engine vs Unity debate for developers prioritizing top-tier visual fidelity.

What is Unreal Engine in Game Development?

Unreal Engine is a game development platform introduced by Epic Games, the same company that created Fortnite. This game development engine was showcased for the very first time in a first-person shooter video game called Unreal in 1998.

unreal engine game development engine

It is a powerful and widely-used game development engine known for its high-fidelity graphics and robust feature set. Unreal Engine 5, the latest iteration, pushes the boundaries of visual realism and performance with groundbreaking technologies.

Features of Unreal Engine

features of Unreal Engine

The significant features of Unreal Engine are as follows:

  • Nanite Virtualized Geometry

Nanite allows developers to create highly detailed environments without compromising performance. It efficiently handles millions of polygons, enabling stunningly detailed models and textures that scale seamlessly.

  • Lumen Global Illumination

Lumen provides real-time dynamic lighting, offering realistic lighting and reflections without the need for complex baking processes. This makes it easier to create immersive environments that respond to changes in lighting conditions.

  • Enhanced Performance and Scalability

Unreal Engine 5 is optimized for next-generation consoles and high-end PCs, delivering exceptional performance. Its scalable architecture ensures compatibility with a wide range of devices, from powerful gaming rigs to mobile platforms.

  • MetaHuman Creator

This tool enables the creation of highly realistic human characters quickly and easily. Developers can generate lifelike characters with detailed facial animations and expressions.

  • Quixel Megascans Integration

Unreal Engine 5 integrates with Quixel Megascans, providing access to a vast library of high-quality 3D assets and textures. This integration streamlines the asset creation process, saving time and enhancing visual quality.

What are the Advantages of Unreal Engine Game Development?

Here are some of the key advantages of using Unreal Engine for game development:

  • High-Quality Visuals and Graphics

Unreal Engine is renowned for its capability to produce stunning, high-quality visuals. Its rendering engine supports complex shaders and high-resolution textures, allowing developers to create realistic and immersive environments. The visuals make it a strong contender in the Unity vs Unreal debate, especially for projects that prioritize graphical excellence.

  • Blueprint Visual Scripting

Unreal Engine’s Blueprint system offers a visual scripting language that enables developers to create gameplay mechanics, animations, and more without writing code. This feature is particularly useful for designers and artists who may not have extensive programming knowledge but want to prototype and implement features quickly. In the Unity vs Unreal Engine 5 comparison, Blueprint gives Unreal an edge in terms of accessibility for non-programmers.

  • Strong Community and Support

The Unreal Engine community is large and active, providing a wealth of resources, tutorials, and forums for developers to seek help and share knowledge. Epic Games also offers extensive official documentation and learning resources, making it easier for developers to get started and improve their skills. 

  • Integrated Tools and Ecosystem

Unreal Engine comes with a suite of integrated tools that streamline the development process. These tools include a robust animation system, a material editor, and advanced physics and particle systems. This comprehensive toolset reduces the need for external plugins and third-party tools, which is a notable advantage when comparing Unity 3D to Unreal Engine.

  • Versatility Across Industries

While primarily known for game development, Unreal Engine is also used in various other industries, such as film, architecture, automotive, and virtual production. Its versatility and high-quality output make it suitable for creating cinematic experiences, architectural visualizations, and interactive simulations.

  • Performance and Optimization

Unreal Engine is designed to maximize performance and optimize game rendering. Its architecture supports the efficient handling of complex scenes and high-fidelity graphics, ensuring smooth gameplay even on demanding projects. This focus on performance is a key advantage when considering Unity vs Unreal for high-end game development.

  • Marketplace and Asset Availability

The Unreal Engine Marketplace offers a wide range of assets, including 3D models, animations, sounds, and plugins. This extensive library allows developers to find and integrate high-quality assets into their projects easily.

What are the Disadvantages of Unreal Engine Game Development?

While Unreal Engine may be considered a powerful and versatile engine for creating solid games, it also has its fair share of disadvantages. Here are some of the key drawbacks:

  • Steeper Learning Curve

Unreal Engine is known for its complexity, which can pose a challenge for beginners. Its comprehensive feature set and advanced tools require a significant time investment to master. Compared to Unity, which is often considered more user-friendly, the learning curve can be a deterrent for new developers. This is a crucial factor in the Unity vs. Unreal debate, especially for those just starting in game development.

  • Performance Overheads

Despite its high-performance capabilities, Unreal Engine can have substantial performance overheads, particularly for smaller projects or less powerful hardware. The engine’s advanced features and graphical capabilities can lead to longer loading times and higher system requirements. In the Unity vs. Unreal Engine 5 comparison, Unity often proves to be more efficient for simpler, less resource-intensive projects.

  • Licensing and Costs

While Unreal Engine offers a royalty-based licensing model, this can become expensive for successful games. Developers are required to pay a percentage of their revenue after a certain threshold, which can add up for high-earning titles. In contrast, Unity provides a subscription-based model that may be more predictable in terms of budgeting. This aspect is frequently discussed in the Unreal Engine vs. Unity evaluation.

  • Resource Intensity

Unreal Engine’s powerful features come at the cost of being resource-intensive. Development projects in Unreal Engine often require more powerful hardware and larger development teams to fully utilize its capabilities. This can be a limitation for indie developers and smaller studios, making Unity 3D vs. Unreal Engine a critical consideration for those with limited resources.

  • Community and Support Disparities

While Unreal Engine has a strong community and support system, it can be less accessible than Unity’s. Unity’s larger user base and more extensive documentation can make finding solutions and getting help easier.

Which Engine is Better for Game Development: Unity vs Unreal Engine 5?

When entering the Unity vs Unreal Engine 5 debates, there are a significant number of factors that decide which gaming platform is better. The answer is quite subjective. 

If you’re a mere beginner who wants to get the hang of game development, then Unity is more beginner-friendly than Unreal Engine. On the other hand, you need a bunch of dedicated time to figure out how to use the various tools in Unity Engine. Most of the Unreal tools such as animations, VFX, sound, AI, terrains and physics go unused.

Also, Unity supports cross-platform development, supports lower-performance machines and is quick and simple to iterate, therefore, providing a powerful toolbox to create any type of game.

However, if you’ve been a professional in the gaming industry for years, Unreal Engine is your best friend. You can create hyper-realistic games as it provides multi-layered professional tools that require years of dedicated experience to use properly.

And, what about which engine is more popular?

Over the past five years, people are showing more interest in Unity than Unreal Engine because of its beginner-friendliness and the ease to iterate the code. The following data from Google Trends is a witness in itself!

data from Google Trends

Looking for a Hyper-Realistic Game Development Company?

Whether you’re an entrepreneur or enterprise wanting to roll out your own 2D or 3D mobile game in the market, Deftsoft is here to help. We’ve got a seasoned team of game developers, UI/UX designers and testers who can build hyper-realistic games irrespective of the type you want. From Unity 3D to Unreal Engine, we develop next-gen games so that you can target an enhanced user base.
Your search for the best mobile game development company ends here!

FAQs:

1. What are the key differences between Unity vs Unreal Engine 5?

Unity and Unreal Engine 5 both offer powerful tools for game development but they have distinct features. Unity is known for its user-friendly interface and cross-platform compatibility, making it ideal for beginners and smaller projects. In contrast, Unreal Engine 5 excels in high-fidelity graphics and advanced rendering capabilities, making it a preferred choice for experienced developers aiming for photorealistic environments. 

2. How does the learning curve of Unreal Engine vs Unity compare?

Unity is generally considered more beginner-friendly due to its intuitive interface and extensive documentation. Unreal Engine 5 has a steeper learning curve because of its comprehensive feature set and advanced tools. Beginners might find Unity easier to get started with, while seasoned developers might prefer the powerful capabilities of Unreal Engine vs Unity.

3. Which engine performs better for mobile game development: Unity 3D vs Unreal Engine?

Unity 3D is highly regarded for its cross-platform support and optimization for mobile devices, making it a popular choice for mobile game developers. Unreal Engine 5 also supports mobile development but is often favored for its high-end graphics and performance, which might be overkill for simpler mobile games. When considering Unity vs Unreal for mobile, Unity’s efficiency and ease of use give it an edge.

4. What are the advantages of using Unity vs Unreal Engine for indie developers?

Indie developers often prefer Unity vs Unreal Engine due to Unity’s user-friendly interface, extensive asset store, and lower system requirements. Unity allows indie developers to quickly prototype and deploy games across multiple platforms without extensive coding knowledge. Unreal Engine 5 offers advanced features and high-quality graphics but can be more resource-intensive and complex.

5. Which engine is more popular in the industry today: Unity vs Unreal Engine 5?

In recent years, Unity has gained more traction, especially among beginners and small to mid-sized studios. Unity’s ease of use, extensive community support, and cross-platform capabilities are beneficial. Unreal Engine 5 is highly regarded for its cutting-edge graphics and is preferred by larger studios and professionals in the industry. However, Google Trends data indicates a growing interest in Unity vs Unreal due to its beginner-friendliness and iterative development process.

The 8 Leading Cross-Platform App Development Frameworks You Should Know

The tech world was introduced to the term ‘cross-platform’ right back in September 2018 when Sony announced that it had opened the doors for cross-platform play on PlayStation 4 for Fortnite. It was a game-changer in the gaming and development industry!

This is when many developers and software engineers in the masses got thrilled about the concept of cross-platform development. Fast-forward to 2024, cross-platform app development has become a staple for both iOS and Android apps.

One recent study revealed that approximately 87% of developers are currently relying on cross-platform frameworks for mobile app development. 

This blog will familiarize you with the best cross-platform app development frameworks you can use for your project. You’ll also understand what’s the buzz about cross-platform mobile app development frameworks and how you can find the best cross-platform framework for your project.

Understanding the Buzzword ‘Cross-Platform’ Development

Cross-platform development refers to creating software applications that can run on multiple operating systems (OS) without needing to be rewritten for each one. Instead of building separate versions for Windows, macOS, Linux, Android, and iOS, developers use tools and languages that allow a single codebase to be deployed across different platforms.

Imagine you want to build a mobile app. Traditionally, you would need to write one version in Swift or Objective-C for iOS and another in Java or Kotlin for Android. Cross-platform development simplifies this process.

For example, using a framework like Flutter, you write your app in the Dart programming language. This single codebase can then be compiled to run on both iOS and Android devices.

How Cross-Platform Frameworks Come into Play?

Cross-platform frameworks are essential for the process of cross-platform mobile app development. They provide the necessary tools, libraries, and runtime environments to ensure the app works correctly on various platforms. 

Popular frameworks include Flutter, React Native, Xamarin, and many more. These frameworks bridge the gap between the different operating systems, translating the single codebase into native code for each platform. 

This approach saves time, reduces development costs, and ensures a consistent user experience across devices. Let’s explore the top 8 most popular cross-platform mobile development frameworks that can help you save time and generate an outstanding, power-packed app.

App Developers Most Used Cross-Platform Development Frameworks 

It’s time to explore the best cross-platform app development frameworks that are mostly used by top-notch app developers:

1. Flutter

When talking about their favorite choice, developers talk about Flutter. Created by Google, Flutter is an open UI toolkit that allows web, mobile and desktop app developers to create cross-platform apps. They just need to use a single codebase to build apps for various platforms and devices. 

Programming Language Used: It uses a modern and expressive language called Dart, which allows quicker development.

Best Feature: Your app feels exactly like a native app on any device, as Flutter combines the native code within half the budget.

Flutter interface

Some of the main highlighting features of Flutter are as follows:

  • Hot Reload

Developers can easily keep up with the changes in the code as they are reflected simultaneously. Because of the faster development cycles, developers can easily find the best fit for UI concepts and introduce error correction. 

  • Native Feature Adaptation: 

Flutter has the freedom to integrate various native functionalities such as geolocation, camera access, etc. This helps developers to tap into platform-specific widgets such as Google Fuchsia, iOS and Android.

  • Broad-Spectrum Support: 

The Flutter framework is not just a framework to build cross-platform app for iOS and Android, it can also be used to build desktop and web applications. So, if you’re new to development, you can learn Flutter and master building apps for various platforms.

Pros:

  • Useful for startups as it is economical
  • High-customization availability
  • Smooth integration with popular IDEs such as Android Studio and VSCode
  • Extensive widget library

Cons:

  • Not suitable for enterprise-level projects
  • Dart programming language is not that popular
  • It is a comparatively young
  • Apps created are larger in size

Popular Flutter Apps:

  • Alibaba
  • Hamilton
  • BMW
  • GooglePay

2. React Native

React Native is an open-source, cross-platform framework that originated in 2015. It was launched by Facebook and is based on the JavaScript and React. Focused on mobile app development, developers can build robust mobile apps.  This framework enables code sharing between iOS and Android, reducing the time and cost of development.

Programming Language Used: JavaScript

Best Feature: React Native provides a near-native performance for both iOS and Android with a single codebase.

React Native

Some of the main highlighting features of React Native are as follows:

  • Multi-Language Support:

One of the best parts of React Native is that it supports multiple programming languages such as JavaScript, Objective-C, C++, Java and Python.

  • Native Module Integration

React Native allows seamless integration with native modules written in Swift, Objective-C, or Java. Therefore, it saves a lot of time for mobile app developers.

  • Extensive Community Support

 With a vast community of developers, finding solutions to issues and accessing various plugins and extensions is straightforward. This cross-platform framework is relatively older than Flutter and is more popular.

Pros:

  • Reusable code for both iOS and Android
  • Large community and extensive libraries
  • Strong performance close to native

Cons:

  • Native modules might be required for complex features
  • Performance can vary based on the app’s complexity

Popular React Native Apps:

  • Instagram
  • Airbnb
  • Facebook

3. Ionic

ionic framework

Ionic is a popular cross-platform framework that leverages web technologies such as HTML, CSS, and JavaScript to build mobile applications. Established in 2013 by Drift CO, it allows developers to create high-quality apps with a single codebase. In short, it is an open-source mobile UI toolkit.

Programming Language Used: JavaScript (Angular, React, or Vue)

Best Feature: Ionic’s comprehensive library of native plugins and UI components ensures that apps have a native look and feel.

Some of the main highlighting features of Ionic are as follows:

  • Adaptive Styling

Ionic adapts to the platform it’s running on, thus providing a native-like experience on both iOS and Android. When Ionic is paired with Angular, it offers outstanding results, especially in organizing app structure.

  • Cordova Plugins

Ionic cross-platform framework allows you to access native device features using Apache Cordova plugins. This integration helps you provide an immersive experience by harnessing the power of native features including camera, contacts, geolocation, and many more.

  • PWA Support

Ionic is not just limited to native apps but it also extends its support in building Progressive Web Apps (PWAs), allowing for the creation of web-based mobile apps. 

Pros:

  • Extensive UI component library
  • Strong community support
  • Easy integration with Angular, React, or Vue

Cons:

  • Performance can be less optimal for complex applications
  • Requires knowledge of web technologies

Popular Ionic Apps:

  • MarketWatch
  • Pacifica
  • Sworkit

4. Xamarin

Xamarin is a Microsoft product that was launched as a cross-platform framework in May 2011. It is a robust cross-platform mobile app development framework with a high rate of efficiency, as it allows developers to share almost 90% of their code with other platforms. It also allows developers to build iOS and Android applications using C# and .NET.

Programming Language Used: C#

Best Feature: Xamarin provides a near-native performance and extensive access to native APIs, ensuring high-quality app performance.

Xamarin framework

Some of the main highlighting features of Xamarin are as follows:

  • Native Performance

Xamarin uses native UI controls to ensure that apps not only look native but also perform with the same efficiency and responsiveness as applications built specifically for iOS or Android. This means that the user experience is seamless and fluid, closely mirroring that of a fully native app, which is crucial for user retention and satisfaction.

  • Single Tech Stack

With Xamarin, developers can build apps using a single language, C#, across all platforms. This unified approach simplifies the development process, reduces the learning curve, and ensures consistency in code quality. It also allows for easier maintenance and updates.

  • Integrated Testing

Xamarin provides comprehensive tools for testing apps on multiple devices through the Xamarin Test Cloud. This allows mobile developers to ensure their apps function correctly on various devices and screen sizes, identifying and resolving issues before deployment

Pros:

  • Native performance and access to native APIs
  • Comprehensive development environment with Visual Studio
  • Strong support from Microsoft

Cons:

  • Larger app size compared to other frameworks
  • Learning curve for developers unfamiliar with C#

Popular Xamarin Apps:

  • Storyo
  • Alaska Airlines
  • FreshDirect

5. NativeScript

NativeScript is an open-source, cross-platform framework for building truly native mobile applications using JavaScript, TypeScript, or Angular. Launched in 2014 by Progress Software Corporation, it allows developers to leverage native APIs directly without any web views.

Programming Language Used: JavaScript, TypeScript, Angular

Best Feature: NativeScript provides direct access to native APIs, ensuring high performance and a native user experience.

NativeScript is an open-source, cross-platform framework

Some of the main highlighting features of NativeScript are as follows:

  • Native Performance

NativeScript utilizes native components for the user interface, ensuring apps have a genuine native look and feel on both iOS and Android. This approach provides seamless and efficient user experiences comparable to fully native apps.

  • Single Codebase

With NativeScript, developers can write their code once and deploy it on both iOS and Android platforms. This significantly reduces development time and costs, allowing for a unified approach to app creation.

  • Extensible Plugins

NativeScript offers an extensive library of plugins that developers can use to enhance and extend the functionality of their apps. This flexibility allows for the easy integration of various features and capabilities.

Pros:

  • True native performance
  • Strong integration with Angular
  • Access to native APIs without additional plugins

Cons:

  • Smaller community compared to React Native and Flutter
  • Learning curve for those new to Angular or TypeScript

Popular NativeScript Apps:

  • SAP Fiori Client
  • Strudel
  • Beachy

6. Unity

Unity is a leading cross-platform development framework released in June 2005 by Unity Technologies. Originally introduced as a Mac OS X game engine, it is primarily used for building games but can also be used to create simulations and other interactive experiences. It supports 2D and 3D game development.

Programming Language Used: C#

Best Feature: Unity’s powerful graphics and physics engines make it ideal for game development.

Unity is a leading cross-platform development framework

Some of the main highlighting features of Unity are as follows:

  • Extensive Asset Store

Unity’s Asset Store provides developers with access to a vast library of assets and plugins. This resource includes everything from pre-built characters and environments to complex scripts and extensions. By integrating high-quality, ready-made components, Unity saves significant development time and effort.

  • Multi-Platform Support

With Unity, developers can create their applications once and deploy them across over 25 different platforms, including mobile devices, desktops, and gaming consoles. This broad support ensures maximum reach and flexibility, allowing developers to target a wide audience with minimal additional work.

  • Strong Community

Unity boasts a large, active community and extensive documentation, providing robust support for developers at all levels. The community offers forums, tutorials, and resources that can help resolve issues, share best practices, and inspire new ideas, making the development process smoother and more collaborative.

Pros:

  • Powerful graphics and physics engines
  • Extensive asset store
  • Wide platform support

Cons:

  • Overkill for simple applications
  • Steeper learning curve for non-game developers

Popular Unity Apps:

  • Pokémon Go
  • Monument Valley
  • Angry Birds 2

7. Solar2D

Solar2D, formerly known as Corona SDK, is a cross-platform framework ideal for 2D game development. It was released in December 2009 and became a preferred language for building mobile, desktop and connected TV apps. It uses a simple, easy-to-learn language and offers a high-performance graphics engine.

Programming Language Used: Lua

Best Feature: Solar2D’s lightweight and fast performance make it ideal for mobile game development.

solar2d

Some of the main highlighting features of Solar2D are as follows:

  • High-Performance Graphics

Solar2D is optimized for 2D graphics, making it an ideal choice for game development. Its high-performance graphics engine ensures smooth animations and detailed visuals, crucial for creating engaging and visually appealing games.

  • Ease of Use

Solar2D uses a simple programming language, Lua, and an intuitive API, enabling rapid development. This ease of use allows developers to quickly prototype, test, and deploy their games, reducing development time and effort.

  • Cross-Platform

With Solar2D, developers can create games for iOS, Android, and other platforms using a single codebase. This cross-platform capability streamlines the development process and maximizes reach.

Pros:

  • High performance for 2D games
  • Easy to learn and use
  • Active community and extensive documentation

Cons:

  • Limited to 2D applications
  • Smaller community compared to major frameworks

Popular Solar2D Apps:

  • Fun Run 2
  • Zip Zap

8. Cordova

Apache Cordova (formerly PhoneGap as named by Adobe Systems) is an open-source mobile development framework created in 2009 by Nitobi but was later on purchased by Adobe Systems. It allows developers to build apps using HTML, CSS, and JavaScript. It wraps your code in a native container to access device capabilities.

Programming Language Used: HTML, CSS, JavaScript

Best Feature: Cordova’s extensive plugin library allows access to native device features.

Cordova mobile development framework

Some of the main highlighting features of the Cordova framework are as follows:

  • Plugin Architecture

Cordova extends app functionality with a wide range of plugins. It offers customization, flexibility, modularity, and community engagement. Developers can add or remove features without changing the core application code.

  • Web Technologies

This cross-platform framework leverages web technologies such as HTML5, CSS, and JavaScript to build mobile applications. These apps can potentially run on multiple platforms (iOS and Android) with minimal modifications.

Pros:

  • Familiar web technology stack
  • Extensive plugin library
  • Wide platform support

Cons:

  • Performance might not match native apps
  • Dependence on plugins for native functionality

Popular Cordova Apps:

  • FanReact
  • Pacifica
  • JustWatch

Join Hands with the Innovative Cross-Platform Development Company

Are you struggling to find the right cross-platform framework for your project? Look no further than Deftsoft, a premier cross-platform app development company that builds customized solutions for enterprises, business organizations and startups. 

Our team of experienced cross-platform developers, UI/UX designers and testers have an experience of more than a decade in various avenues and segments. Achieve accelerated business success by opting for outcome-centric cross-platform app development services. Reach out today for customized cross-platform development.

FAQs:

1. What is cross-platform app development?

Cross-platform app development refers to creating software applications that can run on multiple operating systems (OS) using a single codebase. This approach eliminates the need to develop separate versions for each platform, such as iOS and Android, streamlining the development process and reducing costs.

2. Why choose cross-platform frameworks for mobile app development?

Cross-platform frameworks like Flutter, React Native, and Xamarin enable developers to write code once and deploy it across multiple platforms. This not only saves time but also ensures consistency in user experience across different devices, making it a preferred choice for businesses aiming to reach a broader audience efficiently.

3. What are the benefits of using cross-platform mobile development frameworks?

These frameworks offer advantages such as cost-effectiveness due to shared codebase, faster time-to-market, and easier maintenance. They also provide access to native features and APIs, ensuring that apps perform well and integrate seamlessly with device functionalities.

4. Which cross-platform framework is best suited for my project?

The choice of framework depends on factors like project requirements, team expertise, and desired app performance. Flutter is known for its fast development cycles and native-like UI, while React Native offers strong community support and compatibility with JavaScript libraries.

5. Are there any drawbacks to using cross-platform frameworks?

While cross-platform development offers many benefits, challenges may include performance issues on complex applications, dependency on framework updates, and limitations in accessing platform-specific features without custom native code integration.

Native vs Hybrid App Development: Which is Better for Mobile Development?

In the era of booming online businesses, establishing a robust online presence is a top priority for every organization, enterprise, or startup. Equally crucial is the creation of personalized relationships with users, a key driver of high customer satisfaction rates. 

Talking about personalization, mobile apps are the way to grasp user’s loyalty, trust and attention. It is estimated that the mobile app’s total revenue is going to cross $935 billion in 2024. With such massive numbers, investing in a mobile app is a must.

Demand for mobile experiences is growing 5x faster than internal IT teams can deliver.

– Gartner

Whether you’re a mobile app developer or business founder, this guide can help you find the best fit for your requirements: a native mobile app or a hybrid mobile app.

What is a Native App?

As the name suggests, a native app is an application that runs on a specific Operating System or device. Since 98.7% of the phones run on these two operating systems, there are mainly two types of native apps: iOS apps and Android apps. The iOS apps only run on the devices in the Apple’s ecosystem, such as iPhone, iPad, iMac, MacBook, Apple Watch, etc. In fact, some apps are dedicated to just one device.

iOS apps are usually created using a diverse range of programming languages, including Java, Kotlin or Swift.

Android apps are native apps that run on Android devices such as tablets, smartphones and PCs using Android as their operating system. Developers create these apps using various programming languages and frameworks such as Java, CSS, HTML5, etc. Java is mostly used when developing apps for Google platform devices.   

Also read: iOS vs. Android: Which Platform is Better for Your App?

What are the Examples of Native Apps?

Some examples of native apps are as follows:

  • Discover is a banking app that users leverage to manage their bank accounts and pay bills securely from anywhere.
  • Spotify is a music streaming native app that allows you to discover new music and artists, recommend and share songs, etc.
  • WhatsApp is a native messaging app that has separate app versions for iOS and Android.
  • Pokemon Go is a native gaming app that uses camera features and GPS for an immersive gaming experience.

What are the Benefits of Native Apps?

Benefits of Native Apps

The benefits of opting for native apps are mentioned as follows:

  • Reliability

Native apps are reliable in nature as well as highly scalable. Since these apps are created for dedicated use in a specific operating system, the native apps are robust and work seamlessly.

  • High Speed

Native apps work very efficiently with increased levels of speed. Users experience the best mobile app performance and responsiveness thanks to the robustness of these apps.

  • Offline Functionality

One of the major reasons for creating or opting for native apps is their ability to function both online and offline. Therefore, it isn’t necessary to use the Internet to access native apps.

  • Highly Secure

Since native apps are built on dedicated platforms for Android or iOS apps, these apps are highly secure in nature. In other words, native apps are less prone to cyberattacks or malicious attacks.

  • Personalized Approach

Native apps offer you the functionality of adding push notifications. This feature of adding push notifications allows business organizations to build personalized relationships with consumers.

  • High Graphics Affinity

When creating graphic-heavy apps such as 3D-gaming apps etc., choosing the native environment offers the freedom to create unforgettable and sophisticated experiences for the users without any bugs, errors or lagging.

What are the Drawbacks of Native Apps?

Drawbacks of Native Apps

Now that you’re familiar with the good side of opting for native apps, let’s browse some of the notable disadvantages of native apps:

  • Limited to an OS

If a business organization thinks of going cross-platform in the near future, it becomes difficult to re-write the similar codebase for another operating system. 

  • Resource-Intensive

Building native apps requires a large team of dedicated iOS and Android developers who understand the dynamics of the apps. Therefore, companies need to thoroughly invest in high-level resources for producing native apps.

  • Time-Consuming

Since large teams and dedicated software tools are required to build native apps, the process of native app development is quite lengthy and exasperating at times.

What is a Hybrid App?

A hybrid app is an application that can be downloaded directly from app stores or it can be accessed through the web as well. You can consider it as an app that is in the middle of a native app and a website. Hybrid apps are a wonderful choice of apps for business organizations or startups that want to allocate their business resources judiciously.

The most popular frameworks used for hybrid app development include Xamarin, Flutter, React Native, Ionic, etc. As far as programming languages are concerned, Java, Objective-C, Swift and Kotlin can be used to develop these apps.

The best part about hybrid apps is that these applications can be created on a single platform for both iOS and Android operating systems. Therefore, companies can significantly cut costs by opting for hybrid apps.

You can access hybrid apps either through the app stores or directly from any web browser such as Google Chrome, Safari, etc.

What are the Examples of Hybrid Apps?

Some of the prominent examples of hybrid apps are mentioned as follows:

  • Slack is one of the best examples of a hybrid app. It is a collaboration platform that can be downloaded from both the App Store and Google Play Store. It can also be accessed via the web.
  • Evernote is another great example of a hybrid app. It is a note-taking app where you can also store files, images, docs and much more.
  • Amazon Shopping is a hybrid app that allows you to share your shopping cart across your devices.
  • Instagram is a social networking native app that is available as a separate app on both the App Store and Google Play Store.

What are the Benefits of Hybrid Apps?

Benefits of hybrid Apps

The advantages of choosing hybrid apps for your next mobile app development project are as follows:

  • Multiple Platforms

Mobile developers can create apps for multiple platforms by using the same codebase. This functionality makes the delivery of hybrid apps 2-3x faster than native app development.

  • UI/UX Consistency

One of the major benefits of opting for hybrid mobile app development is that you can create uniform user experiences for the users without any hassle. You can use a single codebase for web, mobile, tablets and desktops. No matter what channels you’re targeting, hybrid mobile app development has got you covered.

  • Quick Deployment

The process of launching hybrid apps for public use is far easier than native apps. These apps can be deployed in the simplest manner without having to build any codebase from scratch for each platform.

  • Dynamic Content

Hybrid app development provides developers with the flexibility of creating web content with dynamic features, elements and capabilities. Business organizations can also target mobile affiliate marketing by leveraging dynamic content.

  • Centralized Development Team

Hybrid apps decline the raging gap between various development teams by leveraging centralized development teams for mobile development projects. There is no need for business organizations to allocate external resources for app development.

  • High Efficiency

The time-to-market for hybrid apps is quite less as compared to a native app. The development time is reduced along with the elimination of surplus costs to hire native talent, thus, saving thousands of dollars to the business organizations.

What are the Drawbacks of Hybrid Apps?

Drawbacks of Hybrid Apps

Hybrid apps sound more economical than native apps and even sometimes, better. But is that the reality? Let’s go over some of the major disadvantages of choosing hybrid apps for your organization:

  • System Overhead

When choosing for web views, hybrid apps may introduce some degree of system overhead as compared to native apps. Although the adoption of APIs has made it better, this tradeoff cannot be neglected. Especially when creating performance-intensive applications such as 3D games, this shortcoming is quite visible.

  • Complex Hardware Adaptation

When creating apps for a variety of platforms, it becomes difficult to take full advantage of hardware and pick up an all-inclusive app design. 

  • No Native Plugins

Since hybrid apps are web-dependent as well, they do not have the flexibility to introduce native features of a device such as GPS, camera, microphone, gyroscope, etc.

  • Third-Party Dependent

You need to trust the framework vendor when looking to incorporate app updates and latest versions for each of the native devices. This functionality rips off the advantage of pushing quick bug-fixes and app updates in a robust manner.

  • No Offline Access

The users need 24/7 Internet access to utilize the hybrid app. This feature makes hybrid apps quite similar to web apps since you cannot access them offline.

Factors to Consider When Choosing an App Development Method

If you have developed biased thinking against a native or hybrid app until now, you must ask yourself some significant questions to find the right fit for the mobile app development methodology according to your requirements, budget and other factors.

You must ask yourself the following questions:

  • Are you creating the app for a client, for yourself, or for your employer? This will assist you in setting priorities for your app development. Are you trying to complete a task as quickly as possible? Or are you working on your own piece of art?
  • Which features are essential? Take into account how much the app uses the device’s functionality and user interface. Do you need to use a GPS device? Is the camera going to be necessary?
  • How quickly should it be launched? If speed is important, you should consider a hybrid app. If you have the time and resources, consider creating a native app.
  • What is the development budget? If your budget is reasonable, you may be able to develop native apps for both Android and iOS. If your resource pool is limited, you may be better off taking the hybrid approach.
  • Who is the intended audience? Your audience might not be able to deal with a hybrid app if they are easily turned off by the occasional hiccup or stability issue. A business manager looking to track call centre SaaS doesn’t have the same needs as someone looking to buy the newest gadgets.

Which is Better: A Native or Hybrid App?

After familiarizing yourself with the features of native and hybrid apps, it is clear that no one approach is better than the other. The answer to the question of which app is better is completely subjective. You can consider the following factors when choosing the right approach for yourself:

  • What’s your app development budget?
  • Do you need to push frequent updates to the app?
  • Is speed and efficiency a priority for you?
  • Do you want a more personalized approach for your app?
  • What’s the nature of your business and what does your target audience prefer?

Jotting down the answers to these questions on a piece of paper will surely give you a clear understanding of your ideal app development path.

FAQs

1. What is native app development?

Native app development is the process of creating an app for a dedicated Operating System such as iOS or Android. These apps use proprietary programming languages such as Swift for iOS native app development or other languages such as Java, CSS, HTML5, etc. These apps have an amazing UI/UX with easily incorporated app updates.

2. What is hybrid app development?

Hybrid app development is the process of creating apps that are a cross between native apps and websites. These apps run on various operating systems such as iOS, Android, Microsoft, etc., as well as web applications. Hybrid apps are more economical as app developers can use the same codebase to build apps for various operating systems.

3. What are the benefits of native apps?

One of the major benefits of native apps is that these apps offer consistent UI/UX experiences to the users. These apps can be easily updated and can leverage device features such as GPS, camera, etc. You can also push out personalized notifications to the users.

4. What are the benefits of hybrid apps?

One of the major benefits of hybrid app development is that the development process is quite economical and budget-friendly. You also don’t need to deploy a separate codebase to build the apps, as hybrid apps only require writing code just one time to launch apps on a diverse range of platforms.

How to Become an Android Developer in 2025:  A Beginner’s Roadmap

Android development is one of the most sought-after career paths, especially for people trying to break into the IT industry. Android is an open-source Operating System developed by Android Inc., but later on, in 2005, it was acquired by Google. It is a Linux-based OS that is specially built to run on smartphones and tablets. Currently, there are over 3.9 billion Android smartphone users, which accounts for 48.22% of the entire global population!

With such a whopping number, it is imperative to get an Android developer certification. However, if you’re looking to become an Android developer for free, we’ve got you covered. This guide is the best to consider for the Android developer roadmap

Whether you want to become an Android developer from scratch or you wish to switch your career to Android development, you must read this guide. Let’s get started!

What is Android Development?

Android development refers to the process of building, programming, testing and optimizing applications for devices that use Android as their Operating System. The process involves the user of an Android development kit, which includes popular programming languages, such as C++, Java, Python, Kotlin, and much more.
Be it gaming, e-commerce, designing, or any other app, our Android app development roadmap can help you become an Android app developer. For example, Duolingo, one of the most popular apps of 2025 for learning new languages, math, and much more, is an Android application.

Duolingo

Do you know that you can now create Android applications that can also be built to run on iOS devices? Sounds impossible, right? This is possible with the concept of cross-platform development. Java is one of the most preferred programming languages for cross-platform app development.

For instance, Airbnb is a cross-platform app built on React Native using JavaScript and React frameworks.

Why is Android Development The Right Choice?

Why Android Development is Better

There are plenty of reasons why you must choose Android development over any other Operating System to build your first app. These reasons are listed below:

  • Cost-Effective

Developing an Android app is far more economical than building an app for any other Operating System. The Android app developers also have better reach as there is a wider base of users in the Android community.

  • Wide Utility 

Kotlin is the primary programming language for building Android applications. This modern, open-source language can easily be integrated with Java. You can also use Kotlin to build cross-platform apps that run on both Android and iOS Operating Systems. In addition, Android is a versatile choice for application development as it allows you to focus on various platforms, such as Ubuntu and Symbian.

Also read: iOS vs. Android: Which Platform is Better for Your App?

  • Free SDK Tools

One of the major advantages of Android app development is that you don’t need to pay any charges for the Software Development Kit (SDK) tools. It comprises a set of tools, such as SDK tools, build tools and platform tools. Although the development process includes coding, graphic creation costs, assets, audio and other related costs, Android development is still comparatively more affordable than any other Operating System.

  • Easy Approval

Once an Android app is built and tested, it is easily approved by the Google Play Store in a day or even less than that. In fact, there is only a one-time fee of $25 when you upload your first app on the Google Play Store. After that, you can upload your apps for free on Google Play.

  • Open-Source

Android development is open-source, so you don’t need to spend money or buy memberships to build your Android app. Other related tools are also free of cost and beginner-friendly.

What Are The Prerequisites for Android App Development?

Prerequisites for Android App Development

If you’re wondering and searching for how to become an Android developer, you must first go through the requirements needed to begin your Android development journey. These requirements are mentioned as follows:

  • Device

The foremost requirement to begin your Android development journey is to invest in a Windows, MacOS, or Linux computer or laptop. A Windows device is the most preferred one. You’d also need an Android device to test your app. Don’t have an Android device? That is no problem. You can also use an emulator.

  • Programming Languages

The first step to becoming a skilled Android developer is to build a solid command of Android development programming languages, such as Java and Kotlin. These languages are required to code the apps in a coding environment, such as an Integrated Development Environment (IDE).

  • Development Environments

Speaking of coding an app, it is only a development environment where an app is coded. Android Studio is the most used development environment for Android app development. It is the official integrated development environment built on JetBrains’ IntelliJ IDEA software. You can download the software on Windows, MacOS or Linux.

  • Design Principles

It is also important to have at least an introductory knowledge of mobile app design principles, including UI/UX guidelines, app psychology, layout basics, colour consistency, etc. 

  • Version-Control System

Being familiar with a version-control system is another great advantage. It is a system used to track and manage changes to software code. The goal of this software is to manage source code amongst teams for streamlined operations. For example, Git is a version control system.

  • Basics of Software Development

Your foundation must be strong when stepping into the Android development landscape. Understanding the basics of software development, such as data structures (trees and graphs) and algorithms, is pivotal. Object-oriented programming is also crucial for building well-structured and efficient apps.

How to Become an Android Developer Step-by-Step?

How to Become an Android Developer

If you’re looking for an Android app development roadmap, you’re at the right place. Whether you’re a beginner starting from scratch or a fresh graduate out of high school, follow this Android developer roadmap.

1. Get a Relevant Degree

If you have the time and money, it is the wisest decision to get a graduate or postgraduate degree in Android development. A bachelor’s degree in Computer Science, Information Technology (IT), or Computer Engineering can help you gain hands-on experience with the tools and technologies required in Android app development. 

2. Learn Programming

If you don’t want to invest in a hefty degree, the first step in the Android developer roadmap is to learn programming. You need to learn the following programming languages to become an Andriod developer. The list is as follows:

  • Java

 Java is one of the most important programming languages to build an Android app. It is a class-based and object-oriented programming language. Its syntax is deeply influenced by C++. An Android developer uses Java in an integrated development environment such as Android Studio to build a solid Android app. You must familiarize yourself with the concepts of class, operators, identifiers, data types, inheritance, static methods, lists, variables, loops, objects, dates and arrays, and other fundamentals of the language. You should then start learning Java syntax.

After learning the basics, you can work on a tiny project to build your own Android app in Java following this tutorial.

  • Kotlin

Kotlin is a modern, open-source programming language that is technically considered better than Java. It is an object-oriented, statically typed, and general-purpose programming language developed by JetBrains, a company that built a powerful IDE like IntelliJ and many others. In fact, it is a new language in the Java Virtual Machine (JVM). It is even called an official language for Android app development, followed by Java. You must be familiar with the functions to perform comparisons using operators and other fundamental concepts.

  • Extensible Markup Language (XML)

You can view web data by using the Extensible Markup Language (XML) programming language. A lot of times, Android app developers need to transfer data from the web to apps and vice verse. This is exactly the time when learning XML programming language becomes an indispensable practice.

  • Structured Query Language (SQL)

SQL is a syntax-based language used to manage databases in Android apps. It can also retrieve, manage, and store web data. Therefore, it is important to learn this language for database management.

3. Learn about Development Tools and Frameworks

Once you get the hang of programming languages, mainly Kotlin and Java, it is time to code! Choosing the right integrated development environment (IDE) is the primary step when following the Android app development roadmap

Development Tool:

  • Android Studio 

Android Studio is the official IDE for Android app development, as Google declared. You can use various programming languages when working in Android Studio. These languages include C++, Java, JavaScript and Kotlin. Developed by JetBrains in 2011, the software is based on IntelliJ IDEA software. You can download Android Studio on any computer running a 64-bit version of Windows (8, 10 or 11), MacOS (10.14 Mojave or later), Linux and ChromeOS.

Android Studio

Frameworks:

  • Flutter

Google has developed and is supporting an open-source framework called Flutter. Using a single codebase, front-end and full-stack developers can create an application’s user interface (UI) on several platforms. When it was introduced in 2018, Flutter primarily enabled the development of mobile apps. Currently, Flutter facilitates the creation of applications on six different platforms: Windows, MacOS, Linux, iOS, Android, and the web.

Creating a UI that is beautiful and consistent across an application’s six supported platforms is made easier using Flutter. We will start by contrasting Flutter with native development because it is a cross-platform development framework. After that, we can draw attention to Flutter-specific characteristics.

  • Jetpack Compose

A contemporary framework for creating native Android UI is what Jetpack Compose is. Jetpack Compose leverages strong tools, intuitive Kotlin APIs, and minimal code to streamline and expedite Android UI development. For Android developers, Jetpack Compose offers an alternative to the conventional XML-based approach to UI development: a declarative and succinct method. It makes use of Kotlin’s capabilities and offers a cutting-edge, user-friendly method for creating UI elements.

4. Work on Your Soft Skills

Android developers often work collaboratively in teams with UI/UX designers, developers, engineers such as DevOps and Software engineers, business analysts, testers and many other professionals. Therefore, a fresher Android developer must be proficient in the following soft skills:

  • Communication Skills
  • Teamwork and leadership skills
  • Time management
  • Organizational skills

5. Create a Portfolio and Showcase Your Work

Once you learn how to work with SDKs, code the app and test it via an Android device or emulator, you must consider publishing your app on the app store. If your app follows all the guidelines, it will published on the Google Play Store. If you want to land a job in the industry, it is always the best idea to showcase your work by directly uploading your created app to the store. If approved, your app will then be available for public downloads.

6. Get a Certification/Internship

You can also get an Android developer certification to enhance your chances of landing high-profile jobs. According to CompTIA, 91% of employers consider IT certifications in the hiring process. You can also consider getting an internship in Android development to gain hands-on experience.

Bottom Line

Whether you’re looking to become an Android developer from scratch or switch career paths, this guide is one of the best beginner-friendly Android developer roadmaps. Make sure that you follow a guided path and grasp the industry’s in-demand skills. The learning curve of Android development is quite easy, especially when you’re familiar with a programming language. Follow along the steps mentioned in the guide to get started with an Android development company.

FAQs:

  1. Who is an Android developer?

    An Android developer is a professional who builds, codes, tests, and optimizes apps for various Android devices, such as smartphones and tablets. He builds apps using SDKs and Integrated Development Environments (IDEs) such as Android Studio. An Android developer is also proficient in coding languages like Kotlin, Java, C++, etc.

  2. How long does it take to become an Android developer?

    It takes around 8-12 months to learn the important skills to become an Android developer, such as programming languages, tools, IDE, etc. Yet, it can take 2-3 years to become an expert in the field.

  3. What is the best Android developer roadmap?

    The best Android app development roadmap is to get a degree, learn programming languages such as Kotlin, Java, C++, XML; learn about development tools and frameworks such as Android Studio, Flutter, Jetpack Compose; work on your soft skills and create a portfolio.

  4. How long does it take for app approval on Google Play Store?

    It takes almost a day to get approval for your app on Google Play Store. You just need to pay a one-time fee of $25 to publish your first app on the Play Store. Then, you can upload your apps for free.

  5. Can I build an Android app that runs on iOS, too?

    Yes, you can build native apps, i.e. apps that run on both Android and iOS. Such apps are built using React native or any other framework.