5 Questions to Ask Before Beginning Mobile App Development
When you’re evaluating different mobile development solutions, you’ll often see head-to-head comparisons of “Cross-Platform vs. Native.”
These comparisons provide feature checklists, performance reviews, and other helpful info. But to pick the right mobile app development approach, you need to dig much deeper.
If you’re actively evaluating mobile solutions, this guide is for you. The goal of this article is to help you address the key app development questions that you might not think to consider to find the right approach for you and your team.
1. Do you have the talent in-house or do you need to hire for the right skills?
People are arguably the most important part of any development project. Before you pick a solution, you’ll want to think about the talent on your existing team(s), and whether you’re willing to go hire for new skills if necessary.
Native Development
If you’re thinking about building with the native iOS development kit, for example, keep in mind that only about 4.95 percent of the professional developers who participated in the latest Stack Overflow survey have done extensive development work in Swift over the past year. If you don’t already have that kind of talent in-house, you will need to enter the highly competitive market for developers and recruit people who do have that skill set.
If that doesn’t sound appealing, then look for solutions that match the skillset of the people you already have in-house. In fact, many of the mobile app development approaches available today exist because of the scarcity of native talent. This is where cross-platform mobile app development comes in.
Cross-Platform Mobile Development: Build Native Apps with Web Skills
Enterprises can leverage solutions like Ionic’s Enterprise SDK to build native mobile apps using JavaScript (the most widely used programming language in the world). The idea behind this approach is to give web developers—and anyone else with JS skills—the power to build real native mobile apps with the knowledge they already possess.
With this approach, developers can write code once in JavaScript and deploy the code across the web, iOS, and Android devices. These apps can be published to the Apple and Google app stores, giving customers a seamless app experience with a native look and feel, regardless of the platform they choose.
2. Choose your platform: enterprise or open-source?
If you’ve decided to explore a cross-platform mobile development solution, the next thing to consider is what type of platform you’re looking for. Before you begin developing your mobile app, ask yourself these questions: Do you prefer using tools developed by a business, or products made by other developers? What does your budget allow you to spend on developer tools? Your answer to these questions will help you decide whether you should build using an enterprise toolkit or open-source toolkit.
Open-source tools
While open-source platforms often have an anything-goes “wild west” reputation, many amazing tools have been created by developers in an open-source environment. Some open-source projects include the TensorFlow library for AI/ML, VSCode for source code editing, and even Ionic Capacitor for cross-platform app development. The community around open-source projects is often dynamic, providing their input and expertise for the love of building cool products. Additionally, open-source projects are often free or inexpensive to use. But there is still a major factor to consider when building apps with open-source tools.
Are the projects being maintained by a single person or group dedicated to keeping the project alive? The more people use an open-source project, the greater odds that the project will continue to grow and function properly. However, because the developers of open-source projects are often doing so for fun or without funding, the chances of projects ending or features depreciating over time are often high.
Enterprise tools
Developer tools built by a company for the benefit of enterprises come with their own set of benefits and challenges. First, the fear of features or projects deprecating due to lack of funds or lack of interest from volunteer developers is not an issue in enterprise software. In fact, customers often have a say in what gets developed (or at least a channel for suggesting or asking for features). Additionally, tools developed in a closed system are maintained by the company who built them, and with this maintenance often comes support services.
Because enterprise tools are built with a smaller group of engineers and maintained meticulously, they require that enterprises pay for these tools. Costs of these tools can range from low-cost monthly memberships to large multi-year, multi-hundred-thousand dollar contracts. Ionic’s Enterprise SDK offers custom pricing to service projects and teams of all sizes.
3. What kind of partner are you looking for?
When you’re choosing a mobile app development approach for one project or your entire development organization, you should think about your choice as a long-term commitment. After all, you’re about to tie yourself to one particular vendor or ecosystem for the duration of your project. That’s a pretty big deal. Think about what type of partner you want in that type of relationship.
Vendor Services & Support
Will you need access to advisory services to help you throughout your project? Is vendor support important? Does the solution offer any sort of service-level agreement (SLA) regarding the timeliness of bug fixes? Do they offer long-term version support so you don’t have to migrate every time there’s a new version?
If any of these are important to you, look for a vendor that is willing to back their solution with support and services.
Roadmap Visibility & Influence
Another consideration is the ability to have access to and/or inform the roadmap for the solution. Large open source projects like React Native, backed by Meta, are unlikely to grant that type of influence, but there are some solutions, like Ionic, that will allow their enterprise customers to participate in customer advisory boards or other channels of influence to make sure their solution continues to be optimized for key use cases.
4. How important is design & UX consistency across teams and projects?
The inability to share components and enforce design standards across an enterprise creates inconsistencies that hurt users and brands alike. An increasing number of enterprises are recognizing the need to adopt a design system: A single design spec, or library of reusable components, that can be shared across a team or company.
Sharing UI Components Across Platforms, Teams, and Projects
When you’re choosing a mobile app development approach, think about how important it is to have a single UI library across not just mobile, but desktop as well. If you’re evaluating a solution, find out whether you can share components across different devices. Also, does the UI library work across front-end frameworks, or is it compatible with only one type of framework?
If you want to enforce design consistency across teams and projects, you’ll want to pick an approach that is compatible with multiple frameworks. Otherwise, you will need to get every development team in your organization using the same stack.
But, even if you do that, you still often have approaches where native components are running in your native mobile apps, and browser components are running in your web applications, so that components are not truly shared across platforms and devices. At that point, the only way to enforce design consistency is to provide design recommendations to developers and hope they comply.
Bottom-line: If design consistency is important, we recommend picking a solution that can be shared not only across mobile and desktop, but also across front-end frameworks, delivering a truly universal UI library or design system for all of your teams and projects.
5. How will the ecosystem evolve over time?
The last question to ask before beginning mobile app development: What will the future hold and how will the ecosystem that you’re going to standardize on evolve over time? After all, if there’s one constant in the mobile app development landscape, it’s change. That’s especially true in the world of mobile app front-end development, where framework favorites rise and fall over the years. At one time, Backbone and Ember were hot. Then came Angular. Then React. And more recently, Vue. While we can’t tell what tomorrow will bring, we can safely bet that there will always be new contenders entering the space.
Future proofing your development
With that in mind, give some thought to whether the solution you choose will give you the flexibility to choose new tools and frameworks over time. You may love React today, but will you love it 3-5 years from now?
At Ionic, after seeing the constant framework churn in the front-end development market, we decided to standardize on web components, instead of picking one particular JS framework to pair with. By doing so, Ionic now works with any framework. We offer versions of our solution for Angular, React, and Vue today, and we’ll be ready for whatever the hot new framework of tomorrow is too. The point is, you don’t have to worry about it because the core of your mobile solution won’t depend on the underlying framework.
The choice is yours
To summarize, choosing a mobile app development approach is a lot more nuanced than a simple feature checklist or performance comparison. To find the right solution for your next project, you need to think more deeply about what’s best for you and your goals.
Once you’ve thought through the app development questions listed in this article, it should be easier to spot the solution that’s best for you. And while you’re at it, be sure to check out Ionic’s enterprise offerings to see how we can help you be successful with your next development project. If you’re ready to launch your mobile projects with Ionic, connect with an Ionic App Strategist!