0% found this document useful (0 votes)
3 views2 pages

iOS Development Strategy and Architecture

Shaon, a Software Engineer specializing in iOS development, outlines key considerations for a software project including development goals, customer base, user data security, and team size. He proposes a high-level design using MVVM or CLEAN architecture, multi-module architecture, and various technologies for asynchronous operations and data management. Security measures such as AES encryption and SSL pinning are also emphasized to protect user data.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

iOS Development Strategy and Architecture

Shaon, a Software Engineer specializing in iOS development, outlines key considerations for a software project including development goals, customer base, user data security, and team size. He proposes a high-level design using MVVM or CLEAN architecture, multi-module architecture, and various technologies for asynchronous operations and data management. Security measures such as AES encryption and SSL pinning are also emphasized to protect user data.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Introduction

-​ Hello, my name is Shaon. I have completed my graduation in Computer Science and


Engineering. Over the past three years, I have been working as a Software Engineer
focusing in iOS development

Generic Questions:
-​ First i would like to know the Development goals like; are we developing a MVP or
direct consumer facing; Timeline of the development- how much time do we have.
Why do I need to know this? Because when we are making an MVP then there’s no
point of developing the best architecture ever.

-​ Customer base - For defining the target OS version, UI elements. Young people tend to
have the most updated OS and they know about screen navigation and others so we
don't have to explicitly tell the user what to do

-​ What kind of user data are we dealing with? Like for healthcare we tend to have much
secure data and no way we allow man-in-the-middle attacks. So we have to put an extra
layer of security.

-​ How many active users we are planning to have monthly? Why? Cause based on
that like if we have to hit backend services efficiently otherwise huge server cost might
have to face

-​ How big is our development team? Cause recently i have worked with an application
which has multiple vendors working on it. So we divided it into multiple feature wise
package and each vendors worked on specific package

-​ Are we having the same app for both customers and doctors?

Feature Clarification:

-​ Ask questions and do your best.

Talk technical Solution: (Now i would like to present a high level design for the application)

-​ We will follow the MVVM or CLEAN architecture (For its separation for concern
like its data layer only deals with the data management.. ) with MVVM for scaling
-​ We will use multi module architecture like for Data module, Or Service module like
for each module we will use each package for scaling

-​ We will be having Dispatch Group and dispatchwork items, async await for
asynchronous operations.

-​ Combine for reactivity

-​ For dependency injection we will use our native environment object and
environment for pushing data to view layer

-​ We will be using core data / realm for offline

-​ We will use aes encryption for user data encryption and ssl pinning for preventing
MAN-In-The-Middle attack

You might also like