From small business apps to ecommerce apps, beauty apps, productivity tracking apps, fitness apps, internal employee communication apps, prayer tracking apps, to apps for recipes—there’s an app for anything you can imagine. It hardly comes as a surprise that an average person spends approximately 5 hours glued to their smart devices.

You might also be thinking about building your next great app, but the process can seem complicated, overwhelming, and thorny at a distance. If you’ve decided to build an app, with beautiful interfaces, striking simplicity, and easy navigation, here is a step-by-step guide to app development, where we walk you through the process of how to design an app that is sure to be a winner!

Phase 1: How to build an App: What is Pre App Development Process?

If you have got a great idea for an app, it’s tempting to start building right away and bring your idea to life. However, there are certain steps you need to take before development begins, since poor planning leads to an early demise for most apps. As such, you need to plan for competition and target audience, clarity off concepts and goals, plan for most unexpected issues, and establish goal-oriented development and production processes before you launch an app.

1.1. Jot Down Your Concepts

The first step is to obtain a clear idea of the app and jot down the gist of what your app is about in simple and clear language. Your description needs to answer some basic questions, such as “what is the app about?” “What real-world problem does it solve?” “How can it help the end-users?” what are the expectations from the app?” and “How will it work?” In a nutshell, your idea for a mobile app must start with clearly defined and measurable goals, which should be your guiding star throughout the app development process. Unless you clearly define your objectives from day one, you will never be able to draw the line on features, bells, and whistles that aren’t mission-critical to your goal.

1.2.  Determine Your Target Audience

The next step is to understand your target audience, who you will be selling the app to. Define your target audience according to age, gender, location, work needs etc. By defining the target audience for your app, you can decide on UI/UX elements that your audience prefers, in addition to embracing marketing and monetization methods most suited for your audience. Also analyze the buying behavior of your target audience to see if your app idea caters to the needs of your target audience and incorporates all the features that they need to achieve their goals.

Ask yourself who your users are, what are their needs, if your app is offering a solution to their pain point, and if it has a good scope in the market if it is creating a unique niche in the market. If there are similar apps in the market, how can your app have a better appeal to the same audience of your target users?

The best way to ascertain if your app idea meets the needs of your target audience is to survey a sample population and take feedback from them about what they want the app to be. It’s much more prudent to conduct your market research now than waste valuable resources and time on an idea that is not needed.

1.3. Identify Similar Apps In The Market

Next up, you need to study your competition. Are there other businesses or apps out there doing the same thing? Unless the concept of your app is super innovative, chances are there exist similar apps out there in the market. Your goal should be to identify differentiation factors that make your app stand out in the market. Deeply scrutinize your competition and look for loopholes or areas that can be improved. Without establishing your differentiation, why will users choose your app over one that has been sitting in the market longer? While conducting a through-analysis on a competitor app, check whether the app is successful, what marketing strategies and channels were used to expand its reach, figure out the unique selling point and competitive advantage of the app, look for any negative comments or complaints mentioned in the feedback or reviews, and find out what users love about that app. Your goal should be to ensure that the app that you are planning to build offers better value than the competition’s app. Even if you are lucky enough to get the first-movers advantage, consider how the apps that are going to be built after you can leverage some drawback in your app!

1.4. Brainstorm with Your Team

Two sets of eyes are better than one.  Brainstorming with your entire team helps being new approaches and ideas to the table and helps you see the problem with new perspectives. Get together creative minds and experts from different fields who are familiar with the creative process of app conceptualization and development, and garner their two cents on technical, strategic, marketing, and user experience aspects of your app concept. Your brainstorming session can throw light on various questions, such as how your app can engage users, how you can offer a unique value proposition for the users, how can you gain a competitive edge in the market, and how best to create app within your budget and resources!

1.5. Create A Wireframe

In layman terms, a wireframe is a rough layout of your mobile app. It can be as informal as a drawing on a napkin or a whiteboard. The basic idea is to illustrate the core components of your app and layout the schemes. The wireframe of your app focuses on the structure and flow, and not on how the finished app will look like. Usually wireframes help to map out the user journey. For instance, what happens if the users click on different buttons on the home page, and what will the next page look like? If a user has multiple options to choose from, what will happen in each case? Sketching out these details and making changes on a piece of paper is much simpler than when you actually start building. A wireframe also gets everybody on the same page in terms of the vision for how the app will look like and function.

1.6. Choose your Development Method

There are so many different ways to build an app, but the method that you choose depends on your type of app, budget, technical skill level, and time to market. For instance, Native development involves low-level coding, which perfect for newbies, and those is looking to launch the app for both iOS and Android without hiring specialist developers. Similarly, Hybrid development is a cost-effective approach that relies on Java to launch the app on both both iOS and Android. Rapid app development is a perfect option for non-technical users who want to build an app on their own, using existing tools and resources. Last but not the least, you can also use a cookie-cutter-app app maker that helps you configure an existing app for your own needs.  You can customize anything from adding personalized text, images, color schemes, and other graphics without any prior coding experience.

1.7. Create a Flow Chart

After you have decided on a set of features and functionalities and listed down all the steps, you need to translate your ideas into a simple flowchart. A flowchart provides a bird’s eye view of the functionalities of the app and how different sections are knitted together. This greatly facilitates the communication, visualization and production of a mobile app. Besides portraying the quintessential concept of the app, a flow chart also provides insight into the workflow and functions of the app, as well as the deadlines, budgets, timelines, and different steps of the development process. A flowchart helps the development team come up with a prototype of the intended app.

Phase 2: How To Make An App – Development

2.1. Technical Specification

The wireframes that you have created during the previous phase can be used to create a “tech spec”. Let me use an analogy to clarify this concept a bit further; if you were building a house, you will have to consider plenty of factors before delving into construction, such as ventilation, plumbing, electricity, wiring, etc. These are the inner workings of your house that no one knows about, which is why you can always rearrange things and make subtle changes to save up on time and money or to enhance strength and durability. App development follows the same structure.

The technical specification process helps you define the inner workings of your app and decide if the back-end systems will be able to support the app’s functionality. First things first, you should figure out the technical challenges of building an app and try to find alternative, and sometimes better, ways to achieve your goals. Sometimes, a small alternative can save you a fortune. If you don’t want to end up wishing you had done things differently in the middle of the app development process, now is the perfect time to re-evaluate decisions. By the end of this step, you should be able to decide that some of the initial functionality isn’t feasible or even come up with entirely different ideas for the app.

2.2 Create an MVP

Now that you are starting to build the app, let’s first create a minimum viable product. The concept of an MVP is to incorporate the most essential features that your app needs to function into your product, without getting distracted by all the side details. You need to start building those absolutely important features first. Since app development knows no bounds, you could get lost in the bells and whistles during the journey and lose track of what’s important. It’s tempting to keep adding functionalities, make your app prettier, or add cool visuals, but remember that doing so comes at a cost. If you spend all your budget and time on “cool additions���, you will have none left for the core functionalities. Once your app is ready, you can always add features later if they are needed to give your app an edge.

An MVP is essentially the bare bones of your app. It includes just enough features to complete the simplest functionalities without worrying about the aesthetic appeal or the value added bells and whistles. For instance, if you are building a messaging app, your MVP would let users send messages (exactly what a messaging app is for) but not upload pictures, allow video chat, add cool visuals, change the background of chats, and so forth. You can always keep adding new features even after the launch.

2.3. Graphic Design

Next up, you need to dive into coding and architect the interaction between design elements as well as define the look and feel of your app. Inform your UX and UI engineers about your envisioned final product. Depending on your project scope and app budget, this step can be completed anywhere from a few days to weeks. Play around with different layout of navigation, buttons and other visual elements to come up with a unique UX. A lot of consideration goes into the design of the website so that it is intuitive and easy to use. Make sure you can separate the functionality of your app into distinct sections or screens as well as have a main mechanism for navigating around inside of your app.

2.4. Testing

When it comes to mobile app development, it helps to test early and as much as possible to avoid discovering bugs and flaws later into the development cycle. When you are building out the various test cases, don’t forget to refer to the original design and planning document. Since application testing knows no limits, make sure you test your mobile app for performance, stress, interface checks, security, compatibility, and usability. You will also need to test your app across various platforms, since there are plenty of ways your app can be used, such as Android devices, iPads, iPhones, PWA, smartphones, tablets, etc.

In addition, user acceptance testing gives you an insight into whether your app works for your target audience. In this type of testing, you release your app for a beta trial and ask the pertinent questions from a sample target audience to know whether your solution works as intended. The feedback you receive from beta users will help you decide whether the app’s functions are operating well in a real-world situation. It’s highly essential to discover bugs in your app before launch than have your users find them later.

2.5. Deploy

This is the final stage of the app development process. After weeks and months of hard week, you are going to get your app into the hands of the users. Just make sure your app is fully functional before so that it doesn’t later. Your main focus at this stage needs to be uptime and visibility. You can make use of any number of online tools and software options available in the market to make sure that your app is responsive and healthy. Next up, you need to submit your app to app stores. Since Apple App Store and Google Play Store have different requirements, make sure you comply with their respective submissions so that your app is not rejected. However, remember that deployment is not the end. Once your app floods the market and feedback starts pouring in, you will need to incorporate that feedback into future versions of the app.

Phase 3: Post Launch

3.1. Implement In-App Analytics and Feedback channel

Managing and monitoring user behavior and app engagement through in-app analytics can tell us a great deal about how to safeguard the app’s success, optimize our marketing strategy, and enhance the user experience. Define the metrics that are the most useful and important for your business model and draft a potent analytics strategy to garner all the information you need to measure the success and performance of that app. The key is to choose the most relevant KPIs, based on how end users are adapting to your app, for your business goals and target audience. You will want to know how often users use your app, which features give you a competitive edge, are users uninstalling the app or reusing it, or which season sees the most downloads. These analytics help you drive personalized and targeted campaigns to better engage users and drive retention and loyalty.  Not to mention, tracking KPIs give you an idea of which areas of which app are successful and which need improvement.

Secondly low star ratings are the worst enemy of your app downloads and visibility. This is why you need to give your users a second channel for reporting issues and providing feedback.  Incorporate an easy to use, readily accessible feedback channel within the app to facilitate conflict resolution and foster communication without being bombarded with negative public reviews. An intuitive in-app customer service channel is the best way for customers to ask for help or reach out to you. Fewer negative reviews boost app retention and visibility.

3.2. Market your App

Just as no business idea can flourish without proactive promotion, your app can have the most innovative idea and no one will ever hear about it if you don’t market it to the right audience. Your goal should be to drive visitors to your app and then convert those users into paid members. For starters, Social media is the perfect way for a brand to connect with its customers and get the word out about the new app. So, make sure to promote your app on all popular social media channels, such as LinkedIn, Twitter, Facebook, and Instagram, or even TikTok and SnapChat if you target base is a younger audience. You can also upload video promotions and app demonstrations on YouTube and other video marketing channels.

In addition, build a web landing page for your app that showcases your app’s screenshots, features, and functionalities, to start building buzz and create a fan following. Incorporate a call-to-action, as well as a contact form to collect email addresses of interested potential users. If your goal is to attract new users to your app, be sure to run PPC (pay-per-click), and CPI (cost-per-install) paid ads to drive downloads. Also up your SEO and content marketing strategies to drive maximum traffic to your app and boost downloads.

You will also need to optimize your product page description to convince potential users to download your app, just like an advertising copy. Make sure to pique their interest in the first 5 lines to get your app rank higher in the app store. Be sure to strategically place keywords throughout your description so you show up when users search for those words. By leveraging best ASO practices, you can expand your organic reach and appeal to a wider audience base. Also try to obtain as many positive reviews as possible on your app to help it become more visible to users. A good average rating is one of the biggest customer magnets.

3.3. Gather Feedback

In such a fast-changing mobile application development landscape, being able to iterate, learn, measure and react quickly to your user’s needs is critical to the success of any app. To make sure your app doesn’t become obsolete, it needs to maintain ongoing development and updates. Therefore, you need continuous app updates to fix bugs and release features that users are asking for. This is where you need to garner feedback from your users to better learn their needs. Once your app is in the hands of real users, you need to ask their opinions about the app; which in turn will help you prioritize what features you need to work on next.

Make sure you continue to improve and innovate your app according to the needs and demands of the users. In addition, proactively monitor your app store ranking, social signals, reviews, feedback streams, trends in download growth, and other metrics to gauge your app’s performance and level of customer satisfaction.

3.4. Maintenance and Support

All apps need periodic maintenance all through their lives, which is why you need to hold on to your development team. In addition to constant iterations and new version releases, keep in mind that mobile devices and operating systems keep upgrading as well. So you need to make sure your app stays relevant and compatible with all the software updates. It’s also important that your app stays compliant with the pertinent regulation authorities. Building an app is just like owning a car. Your job doesn’t end when you buy a car. You will constantly need to contend with gas refills, oil changes, tire rotations, and other maintenance works.

You also need to be concerned about customer support. As your app scales, you will inevitably be bombarded with thousands of complaints or queries. It’s impossible for a single person to manage it all. So, you also need to hire a support team! When done effectively, customer support enables you to engage with users so as to foster feelings of advocacy and loyalty. Ongoing engagement is the key to customer retention. Find ways to push notifications or in-app messaging to ask for reviews, offer offers and discounts, promote new features, and spread the word about updates. Make sure to optimize the frequency of your marketing communications, in particular, push notifications.

Top 12 Mobile App Development Frameworks

React Native

React Native is a very popular cross platform mobile app development framework whether you want to use it for Android or iOS apps. This native mobile app development framework lets you build high-performance apps in shorter build cycles. Not only is it easier on the pockets, it also guarantees faster deployment times. Since React native deals with JSX, developers don’t have to learn more complex programming languages for developing Android or iOS apps. React Native lets you build truly native application without compromising on the user experience.


As one of the best mobile app development frameworks, Flutter inherits Google UI toolkit for building beautiful native applications for mobile & desktop apps from a single codebase.  As an open-source framework with an extensive community, Flutter lets you reuse a single codebase for multiple platforms, helping you cut down on development time and overall cost of the app. Additional perks of flutter include a foundation library, fully customized widgets, flutter engine, and hot reload functionality. The Flutter programming language, Dart, supports all types of typing styles and is easy to learn.


The Microsoft owned open-source platform for building hybrid mobile apps using .NET and C#.  It is a .Net developer platform supported by various programming languages, libraries, and tools, especially designed for building apps for Android, iOS, tvOS, watchOS, macOS, and Windows. A strong community of 60,000 contributors, easy API Integration, shared Code Base and a versatile backend infrastructure makes it the best framework for mobile app development. With Xamarin, you can build native apps while offering an excellent UX.


Ionic is an open-source mobile UI toolkit for building native android, iOS and web apps. The framework incorporates a repository of over 100 default UI components that developers can reuse, such as navigation menus, tab bars, list views, action sheets, forms, and filters. The Powerful & stable development platform with an ever-growing community of 5 Million developers lets you enjoy an easy visual development environment and gives you total control over app building. It will be easy to learn mobile app development with ionic framework if you are a newbie!


This widely adopted mobile app development framework for cross platform app development, runs on HTML5, CSS3, through which it can access underlying hardware like your GPS, accelerometer, and camera. It provides best-in-class performance, enables you to build apps without facing any hardware restrictions. Since Java is used for writing apps, the best part about using PhoneGap is that you can create a single native app that is installed as a native app across multiple device.

Framework 7

This best-in-class, full-featured mobile app development framework can be used to create Android, iOS and web application prototypes. However, it has its uses in full-fledged app development as well. Framework 7 offers powerful support of Vue.js and React, as well as its rich ecosystem of plugins. This framework is easy to learn and implement, and incorporates pre-styled widgets/components and built-in helper libraries.


This html5 mobile app development framework stands out due to its cloud-based IDE. This means that it can be used directly in the browser easily without installing anything. Another advantage of using Monaca is that your progress can be directly synced to the cloud, plus you can access its remote build and UI features. If you are using Onsen UI for hybrid app development, Monaco quickly converts your app into a native app.

Corona SDK

This open-source cross-platform framework is ideal for rapidly creating apps and games for smart TV, tablet, desktop, and mobile devices. Corona SDK helps developers build a solitary code base that works equally well with Nook, iOS, and Android. Strong API support to integrate with any native library results in a faster development process. This framework is the secret to building 2D games with trailblazing OpenGL graphics and stellar performance. Beasts Battles 2, Gunman Taco Truck, and Designer city were built using Corona SDK.

Onsen UI

This open-source, hybrid mobile app development framework is widely used to design application UI. Not only does it support JavaScript, HTML5 and CSS support, it also incorporates tons of UI elements, such as forms, lists, stack navigation, side menu, and tabs. These pre-designed elements will be self-optimized according to the platform you are using. This simple and easy to learn framework will help you design the most complex applications.

Appcelerator Titanium

If we do a mobile app development framework comparison with other open-source, hybrid frameworks, it is a powerful platform for cross-platform app development for iOS and Android using a single code base. It’s repository of pre-designed UI elements let you create seamless experiences for the end user. With over 5000 APIs for Android, iOS, Windows, and HTML5, it’s possible to to reuse up to 90% of code if you are targeting multiple platforms. If you are looking for a one-stop cross-platform mobile app development framework, Appcelerator Titanium is the right choice.

jQuery Mobile

Build more with less coding using this HTML5-based user interface framework. Leverage its ready-to-use JavaScript library with various plugins such as Pop-Up Boxes, Content Slider, and Image Slider. To create simpler, interactive and user-friendly apps. The best part about jQuery Mobile is that it lets you write single highly-branded responsive applications that will work across all platforms and devices, such as smartphones, tablets as well as desktops.

Mobile Angular UI

A magical fusion of HTML5, Bootstrap and Angular JS, this free open-source mobile UI framework simplifies the mobile app development process by offering numerous UI components such as navbars, scrollable areas, overlays, and switches to build a seamless intuitive and attractive user interface for mobile applications and deliver a robust mobile experience to its users. Being a cross-browser compliant framework, it can produce JavaScript code suitable for each browser, which makes it a smart choice for modern-day web applications. Mobile Angular UI lets you build HTML5 hybrid desktop & mobile apps without jQuery dependencies.

Also read: iOS 15 Update for 2022

10 Excellent Platforms For Building Mobile Apps

Appery is a cloud-based mobile app development platform that you can use to create apps for Android or iOS. Since it runs on cloud, you can get started without having to install anything. Drag and drop options even allow non-developers to design the interface. Simply choose the components, or available app templates and the code is auto-generated for any element you choose. Either create your own custom private plugins or add powerful functionality with the Appery plugin catalog. Latest iOS 11 support and technologies such as Bootstrap, Angular.js, and jQuery integrated, make it one of the best tools for multi-platform mobile app development.

Mobile Roadie

Being one of the best cross platform mobile app development tools, this app creator lets you create and manage your own iOS or Android apps. The platform is automatically capable of importing RSS, Twitter or Google News keywords, and supports all media types. You can preview your app accurately and see how it would appear to the end users every step of the development process. The platform is language agnostic, which means that users can use the data in a variety of different formats such as HTML, PHP, XML, JSON, and CSV. You can also send out push notifications via the app, which can either be your own content or taken from the platform.

Good Barber

This rapid app development platform lets you to build iPhone and Android apps, along with optimized web applications. The best part is that you can control every facet of your apps without writing any code. Developers can gain access to a plethora of highly customizable design templates, as well as access to Google Fonts and icons, and plenty of advanced features, such as plugins, push notifications, customization possibilities, geo-fencing, chat, and social networking.

The Appy Pie

This fast-growing cross platform app development software is being used by businesses of all types and sizes around the globe, especially by those who are new to coding. They offer plenty of industry-specific ready templates, as well as a clear and understandable process. The platform allows users to upload e-books, create quick messaging apps, add in-app purchases and ads, connect to a database, and integrate various social media platforms, easily. This user-friendly platform based on a drag and drop interface allows even those with no prior knowledge of coding to build an app.

Game Salad

Game Salad is a remarkable software through which you can design games for various platforms such as Android, HTML5, iOS, and OSX. Using its excellent drag and drop interface, even non-coders can easily develop games. This application comes with a scene and actor editor, where a user can set up actors in a scene and create the required sounds, images, attributes, etc. The platform incorporates plenty of templates and demos for basic games as well as an active community where anyone can ask for help and advice.


This easy to use platform helps you build stellar native apps for both Android and iOS. Its drag and drop feature lets you combine a wide array of building blocks that offer different features, such as videos, photos, and information. You can also easily link your app to online stores, Twitter, and Facebook. This app creator allows you to design your app as you wish, choosing your own icons, colors, fonts, paths, and take complete control of layout. You can preview all the changes that you make in real time so that you know how the app will appeal to users.


This is the ideal platform for anyone looking for cross-platform app development tools that perform equally well for mobile apps and games. Create strong PWAs, native apps for iOS, Android, Kindle, and Windows with visually appealing templates and 100 unique game templates. There are also over 100 unique game templates to choose from. You may alter the in-app HTML code, which means you can personalize your preconfigured app however you like.


This app builder builds cross-platform apps using React Native and comes integrated with excellent monetization options, powerful user engagement tools, and complete content management, to offer a seamless publishing process. All of this helps developers design a robust solution for almost any app building scenario. Through ShoutEm, each app you create can be tightly integrated with existing content sources like SoundCloud, Twitter, Facebook, Foursquare, and WordPress. Its UI toolkit offers over 40 screen types, 40 extensions/features, and 200 ready to go templates.

Never code

This state-of-the-art platform is meant for skilled professionals who are working on many projects and are looking for optimization. This platform speeds up app development by automating many processes such as application configuration, its setup, deployment, QA, code analysis, and launching the application in different stores. It comes fully equipped with tools such as iOS SDK, Android, Celery, Angular, Bootstrap, Python, and supports third-party integrations.


This DIY app-creation platform lets you craft iOS, Android, and HTML5 apps, even without prior coding know-how. Enjoy a number of features, such as in-app shopping, shared events calendars, Google Maps integration, chat rooms, music and video streaming, live updates, high-resolution photo galleries, and push notifications. Easily customize the look and feel of your app and preview your app in real time.

Also read: Top on Demand Apps To Start A Business

How To Make An App – FAQs

How Long Does it Take to Build a Mobile App?

A lot of factors determine the time taken to build an app. For instance, the type of app you are making, the development method and platforms that you are using, how many advanced features you are adding, and many other factors are taken into consideration to decide how much time it takes to build an app. Some apps can be built in an hour with ready to use templates, while some take years, depending on the idea and complexity. However, as a rule of thumb, most apps can be finished in a span of 6-12 months on average. For instance, if you are building a simple app like a calculator app or a personal task list, the process can be completed at trailblazing speed. On the other hand, if you are trying to build an app like Facebook or Tinder, it can take years to achieve such levels of complexity. If you’re building a native app with low-level coding, we recommend that you use one of the frameworks from the list above to speed up the process.

How Much Does it Cost to Make an App?

As with time, a lot of factors decide how costly an app development process can be. The development method of your choice, the frameworks and platforms you are employing, how many features, bell and whistles you are going to implement, and the type of app you are building, determine the overall cost of your app. An app can be built for as little as $2000 and as costly as $2 million. On average, it is much more pocket friendly to leverage an app development platform rather than code an app from scratch. Especially if you are thinking about multi-platform development, many platforms let you write a single code for most iOS and devices. But even within each development method, the prices will fluctuate. Other factors such as your location, the skill level of your development team, and the time needed will determine the overall cost of the development. However, don’t try to cut corners to reduce the cost, since it can impact the quality of your app.

Which Is better; Android or iOS?

Both have a significant audience base, so you will be imprudent to build for one and not the other. Only building an app for one platform will hinder its reach and cut down on profits. Most people are tempted to make this decision when they have to code a native app from scratch. This is where you have to create two separate versions – one for Android and one for iOS. This is like building two separate apps – double the time taken and cost associated. However, we now have stellar cross platform app development software which let you write code only once. You can create everything one time, without having to code from scratch, and launch your app on both platforms.

How Do You Make Money With an App?

There are plenty of ways in which you can monetize your app. For instance, your mobile app can augment the revenue for your business. Not to mention, referral programs, customer loyalty programs, and mobile commerce sales are best ways of monetizing your app. Some app make money by charging a download fee. This way, users have to pay a one-time fee to download an app. App purchases for things like content upgrades, no-ads, and coins are both common ways to profit from your app. You can also charge a subscription on a monthly or annual basis to generate recurring revenue. On the other hand, some apps make money by selling advertising space, just like running ads on site. Some apps don’t appear to make you any money but they help businesses streamline inner processes and save up on costs. For instance, app for remote employees, internal employee communication, or payroll can save your company in terms of productivity costs

What’s the Best Way to Build an App?

In a nut-shell, there is no good or bad way to build an app; the method you choose solely depends on your needs, budget, app type, industry, and specific requirements. For instance, if you are building an app to ease some personal task, a cookie-cutter approach is your best friend, but if you are developing a game, a native approach works best for you.