DEV Community

Cover image for Understanding Mobile Development
Emmanuel Omoiya
Emmanuel Omoiya

Posted on

Understanding Mobile Development

Developing a mobile application isn't just about writing codes in either swift or flutter or react-native, NO...
It's about understanding the requirements of the software you want to build i.e. how it should work, your target audience, your proposed user-base quantity e.g. (2,000 users in 2 weeks) and its impact on the software ecosystem at large.

In order for you to fulfill the afore-mentioned requirements, you must understand the common architectural patterns of building Good Software and the platforms of delivering this software.

Common software Architectural pattens

Let's begin with the common software architectural patterns.

1. Model-View-Controller (MVC)

Think of MVC as splitting your software into three parts which in this case would be our mobile application:

  • Model: This is basically the brains and brawns of your software. It handles your business logic and data. Without this guy, your software is basically a user interface with no function, just for sight seeing

  • View: This is the user interface (what users see), I'm sure you know what will happen if this little but serious guy isn't available.

  • Controller: This guy is as the waiter in a restaurant that takes orders from you and sends the requests to the chef, and once your order is ready, the waiter brings it to you, it manages input and update the model and view (the go-between)

2. Model-View-ViewModel (MVVM)

MVVM is like MVC with an extra twist. It adds a ViewModel, which acts as a middleman between the Model and View (I'm sure you're wondering, what's the difference, isn't it the same as MVC, don't worry, I'll explain)

  • Model: Like the MVC this guy manages the data and business logic
  • View: This guys as well manages the user interface
  • ViewModel: But this guy, it's like a combination of view and model, to streamline the relationship between your data and your user interface

3. Model-View-Presenter (MVP)

MVP is another spin on MVCC, with the Presenter taking charge, (you might ask "what is this presenter?", take a chill man... you'll see it soon):

  • Model: Data and Business Logic.
  • View: User interface
  • Presenter: The presenter acts upon the model and the view. It retrieves data from repositories (the model), and formats it for display in the view

4. Clean Architecture...


We'll stop here for today... Follow me for the next part of this article

A big shout out to HNG, HNG Internship, HNG Hiring for inspiring this article.

Reach out to me on Linkedin or X(Twitter) if you want to have a nice chat about anything and I mean absolutely anything.

Top comments (0)