Welcome to our run-down of frameworks for mobile app development. If you’re not a developer, you probably don’t know what a framework is to begin with. Don’t fret though, we have some friendly nerds on our side to help us explain the concept.
A framework is a platform that gives developers a foundation on which to build software. Think of it as a template that can be altered to fit the client’s specific needs with customized code built by developers. There are loads of frameworks for different types of development, but today, we’ll be taking a look at common ones used for mobile app development specifically.
Frameworks use a core code and translate it for use on different platforms like iOS and Android. If you were building an app for use on computers, types of platforms would include MacOS, Microsoft Windows, and others. From there, a developer likely has to make some adjustments to make sure the app looks and performs just right on all operating systems, but using a framework can definitely save time. Some frameworks even use programming languages that are typically known by web engineers, allowing those engineers to build mobile applications without having to learn an entirely new language set.
Apps that are built directly in a language made for mobile development without using a framework are called Native apps. If you choose to not use a framework, you will likely have one developer dedicated to writing code for a single platform you want to have your app on. Want it on multiple platforms? Multiple developers will be working on your project writing close to the same code for each operating system.
Frameworks are not to be confused with the term languages in programming. Programming languages are the tools used to give detailed instructions for computers to use such as Python, JavaScript, C++, PHP, and Swift. A developer types code in different formats depending on whichever language they’re using. It is like the “style” in which you get the computer to perform the needed actions. Frameworks themselves are written in a particular language, so in order to use a certain framework, the developer must know the language.
Let’s think of the development process like cooking a meal at home. You gather the objects needed to cook like pots, pans, and utensils. They are the bare minimum of what you need to make a hot meal. You could definitely go whittle a wooden spoon to use, but you buy it at the store to save time and avoid mistakes. The tools you’re using here to cook are like a framework. It serves as the foundation to work off of, making coding faster and less prone to errors off the bat. You can think of the spices, vegetables, protein, and our favorite—the carbs, as the awesome custom work developers make by building off of the “pan” of a particular framework. Maybe we should have used a different analogy… feeling a bit hungry now.
What do you as the founder or product owner need to know when researching frameworks for your app build?
1. Each framework has a different set of platforms that they can build for.
Think of the end product that you’d like to see, and consider which platforms you’d like the app to be on. Do you need your app to be on iOS, Android, or another platform? Do you need a web app to go along with your mobile app?
2. Some frameworks outperform others on certain functionalities.
Different frameworks have their pros and cons, otherwise you’d see everyone using the same framework! Some frameworks build lighter applications that load faster for your users. Some have great ready-built widgets that can be customized to match the look of your application’s branding. Just like we each have our strengths, the same goes for these frameworks.
3. Some frameworks implement licensing fees for developers to use them.
If money is a huge factor for you, consider seeing if there are fees to use a given framework. These may be in the form of monthly or yearly payments. Something you may see while checking out licensing fees is that higher tiers of payment give access to more features such as more customization or access to code for additional features or platforms.
4. Certain companies only use a few frameworks that they have grown to know and love.
If you team up with a developer or development team, you'll want to keep in mind that they don’t have experience with every framework under the sun. If you decide you want your application built in a specific framework, you will have to shop around and see what potential partners use for building mobile applications.
5. Keep an eye on how large the community that uses a given framework is.
This is a good indicator of whether or not it is a solid choice to go with. Check on the framework’s Github pages to see how actively users are contributing and reporting bugs. Look at how many users have “starred” the given framework; this is the equivalent of favoriting or liking a page on social media.
Why should you care about the community? If there is an active community, they will be quick to report issues seen in the code (and work on fixes for those bugs). If there aren’t many active users in the framework, it may become discontinued or abandoned, eventually rendering your app unusable due to lack of support.
There are a few things to consider before choosing the framework you should build your app in. First off, are you building it? Or are you searching for help from a development team? If you’re wanting to build it yourself, take into consideration your skill level and how much time you’re willing to spend on it. While there are some great open-source options, they are definitely for someone that knows what they’re doing with code. There are also easy-to-use app builders. Keep in mind that these will not fit the bill for everyone’s needs. They are uncomplicated and not as customizable as doing a custom application. If you’re only looking to build something simple, this might be the way to go!
If you are able to shell out some money to hire a development team to build your app, you’ll find while shopping for a partner that different groups specialize in different frameworks. After discussing what functionalities you’re wanting to see, they will recommend a framework they are fluent in that best suits your mobile app's needs. Take it from the folks that work within these frameworks every day, development companies have insight that you would not know from the outside.
Have a question about which framework is best for your app? Let’s talk.
If you do decide to team up with a developer or team of developers, there are a few things to consider. If you’ve chosen the framework you like best, do they use that framework? If a certain company does not use it, ask them why they don’t.
Find out what frameworks they specialize in and why they love building in them. Are they frameworks with a large community and a lot of support? You’d hate to have an app built that is in a framework that goes defunct and renders your app useless in a few years. Are there other development companies that use the same frameworks in the local community?
To learn more about the development options for building a mobile app, click here.
The short answer is yes. Choosing frameworks can ultimately impact your wallet and how soon you’ll have your app in front of users. There are a few factors as to why this is. Consider if you’ll be building it yourself versus a development team. If you have no prior experience with a certain framework or the tools integrated within it, you will need to hunker down and read up about best practices. Note that you will also have to allow yourself time to ride that learning curve (even more so if you need to learn or freshen up on the language being used in that framework), therefore taking longer to get your app to market. Developers have familiarity with different sets of frameworks and typically have a specialty. They will not have to spend time learning other than the occasional adjustment and improvement to the framework, making your product come to fruition faster than if you had to learn the framework on your own.
As you’ve come to learn, different frameworks work better or worse for different mobile apps. Some frameworks are insecure and more prone to bugs. More time will need to be devoted to testing and fixing these bugs as your app is being built, as well as later down the road for maintenance.
Some frameworks are harder to customize as well, meaning more time will be dedicated to finessing the build to look or act a certain way. If you’re wanting your app to be usable on multiple platforms, certain frameworks make it easier by translating your core code better than others.
Another good thing to think about is if a framework has an active community. The more active members a community has, the more resources and assistance are available. Code can be referenced when needed because there is no need to reinvent the wheel. Frameworks with less active communities typically means more leg work on your part to fix issues or build components that haven’t been built by others.
As you can see, there are many variables to think about that can affect your wallet as well as launch time. If you decide to add on those few extra features, you’ll be spending more time and money on development. If your chosen framework has a few bugs and kinks to get it to work just how you want, it will push back your launch timeline as well as cost you more to develop. To say it plainly, if you’re spending more time on your application, you’re spending more money out of your wallet.
Want to read more about the costs and timeline of building a mobile app? Check out these articles: