Skip to content

Build your own Mobile Framework

By: Scott Terry
Published: Monday, 18 February 2019

In my last article we briefly touched on the existence of Envative’s mobile framework. This time we are going to discuss why, as a developer, you might want to build your own framework versus using existing frameworks or libraries. This can be a touchy subject for some developers, but my goal with this post is to detail and insight into what I believe to be the worthwhile benefits of creating your own mobile application framework.

Flexibility

One of the biggest advantages to writing your own mobile framework is flexibility - especially when deciding what patterns to follow. In writing the code yourself, you get to choose the direction that best suits your style. Sometimes choosing an existing framework can leave with a pattern you may not want for the functionality you need. In addition, writing a framework yourself provides you with the flexibility to make updates in the future to suit new trends or to change patterns to better benefit your team.

Maintainability

Writing your own framework allows naturally provides ease of code maintainability. Since it has been developed all in-house, adding enhancements or making bug fixes is much more efficient as your development team has the knowledge of how the framework works. If you’re dealing with a framework that is not fully open sourced, you’ll have to work around bugs or oddities in the framework while waiting for the framework’s engineers as it’s likely that you won’t have access to fix them yourself. The familiarity alone of understanding how the framework was engineered allows you and your team to better write optimized applications with your framework. Lastly, with regards to maintainability, since your staff are the engineers maintaining the framework, you do not have to worry about it going dormant or becoming abandoned!

Improve your skills

It’s probably obvious that having to think about how you want to design your framework for future uses helps you become a better developer. You become more engaged about the reusability and simplicity and build awareness for writing future applications. Don’t be afraid to have some failure in creating your framework, your team will learn from it and become better developers which, in turn, will create a better end result. You can also experiment with new functionality and patterns and truly learn how they work by implementing them yourself. Writing your own framework pushes you to do more research about the platforms you are developing and better understand them along with finding the best design patterns that will work for your team.

Less Dependencies

Picking an existing framework will make your applications dependent on that framework staying around and staying up to date. Sometimes frameworks fall out of favor or the developers stop development on one framework to create a new one they feel will be better. Writing your own framework allows your team to control this process. You have the control of what new changes get incorporated as well as have full access to keep your framework up to date. If your team decides to switch patterns you have control to add on to your framework or refactor it to suit the new design. You also gain control of all the underlying dependencies for what libraries your framework will rely on. Your team can pick the libraries for functionality you feel comfortable relying on and using. This is a huge advantage to the clients you have built (or are building) mobile apps for! Imagine telling them that any upgrades they want will require a rewrite because the external framework you built their app on is no longer supported and too old to refactor. This will be a costly and unwelcome proposition for them!

Reliability

I hinted at this point earlier, building your own framework can boost reliability. Although you may become responsible for testing instead of relying on others, this can be a benefit as it allows you to address your own issues when needed instead of having to wait for an update. This will build confidence in your team as you know that, even if an issue arises, you are able to tackle it quickly. Having full control over how you want to test it along with the coding practices used makes all the difference when it comes to reliability and maintainability.

Value Gained

From a business standpoint, the value gained is the most important benefit long term. Writing your own framework will provide value in future endeavors by saving your team significant time building applications. They will have a strong sense of familiarity and confidence in the framework they are building leading to ongoing improvements and efficiency.

Envative has reaped the rewards of building our own framework (as have our clients). It consistently saves us development time in project after project, allowing us to offer a superior level of expertise along with highly competitive pricing. We keep it up-to-date and attuned to the latest advancements in the industry to ensure delivery of a quality product.

Today, our framework has gotten us to the point where prototyping applications becomes a trivial task, allowing us to focus on the customized business logic of the individual applications. This is the part that makes the real difference to our clients and keeps them coming back to us for more. It really has been a “win-win” for us.
 
 
 

Tagged as: Mobile App Development, Mobile Framework

Scott Terry

About the Author:

Scott Terry

Scott is the Director of Mobile Application Development at Envative. He is an expert in mobile and web technologies and has an expert-level understanding of the .NET Framework including C# and JavaScript.  Scott brings infinite value in design and database architecture experience to all the projects he serves. He enjoys studying and researching new technologies and prides himself on staying on the cutting edge of the latest advancements in our industry. Scott has expertise in OAuth, jQuery, JSON, C#, HTML5, Microsoft .Net Framework 4.5, JavaScript, ASP.NET MVC, ReST, Amazon Web Services, SWIFT, Web API and Git.