Chapter 5c - Frontend Vs Backend
Chapter 5c - Frontend Vs Backend
SKR4307
Semester I 2022/23
1. The app development
• Planning – an integral part of the mobile app
development process.
• Before actual development/programming efforts
start:
Define the technical architecture,
Pick a technology stack, and
Define the development milestones.
• Mobile app project – made up of 3 integral parts:
Backend/server technology,
API(s) and
Mobile app front-end.
… cont.
• The app needs a back office, admin panel, or web page where will be
able to manage the content of the app
• The app shows data which updates frequently (every day, every week)
• User devices should synchronize data between each other
• Need to collect orders and process payments
• Users of the app should communicate with each other
• To collect statistical data about the users
• Want the users to get notifications about promotions, updates or news
• Apps in the phone and that work with
no backend.
Calculator – allows users to do basic
mathematical operations.
Measure – allows users to measure
4.4 Apps – anything want just with the phone.
Camera – built-in/installed by default on
functional with each smartphone.
no backend Voice recorder – app which can use as a
Dictaphone.
Tetris – a game that the backend doesn’t
need to be involved.
Single-player games don’t need
backends to be playable – they are
fully functional without them.
4.5 Backend Types – Apps
Node.js Tutorial: How JavaScript on the backend can make your life easier.
4.6 Frontend versus Backend – TripAdvisor app
• The app shows an intuitive list of restaurants.
• The restaurant’s photos, addresses, and
descriptions – provided by a backend application.
• When open the app and search for restaurants – it
communicates with its server, passes your current
location there and, in exchange, it gets the list of
nearby restaurants and the respective data.
• The application which runs on this server:
probably the whole network of cooperating servers –
the backend of TripAdvisor’s app.
5. Tech stack – backend mobile app
development
• Includes choices of:
i. The programming language
ii. Architecture (e.g., a monolith, modular
monolith, microservices or serverless),
iii. Infrastructure – the platform where the
backend is run from, such as AWS,
Heroku or one of many other platforms
iv. Database – can be SQL, NoSQL DB or
another kind of DB, it is also possible to
use a mix of different databases types,
v. Type of API – such as JSON API, REST
API, GraphQL, XML, or any others.
• method of communication – between the
app and a back-end server/database.
• E.g., JSON (interchange data format) which
backends frequently use to communicate
6. API – with frontend.
Application
Programmin
g Interface
6.1 Facebook API – popular & most used mobile
API
• Allows apps to access user profile information and
utilize the social connections that have made FB.
• Gives mobile apps the ability to post activities,
accomplishments, etc., to the news feed and profile
pages of FB.
• API access – predicated on user privacy and security
settings:
If users allow access, the Facebook API can share
directly from the app to Facebook.
FB app API can also be used to sign in, create
profiles, and authenticate users on other websites and
apps that are using the API.
6.2 Google Maps API
• Not free to use – charges developers to use their valuable mapping and
location-tracking API.
• After paying for access – there are restrictions based on the number of
queries made in a 24 hour period.
• Help reduce the costs of using the Google Maps API – mapping services into
four different APIs:
Directions API
Static Maps API
Distance Matrix API
Street View Image API
• Gives app developers the ability to pick and choose which mapping and
tracking services they want instead of paying more for the complete Google
Maps service.
6.3 RESTful APIs
• Rely exclusively on XML for messaging, which is bulkier, slower, and requires
more bandwidth to process.
Doesn’t mean that there is no value in SOAP APIs.
• Many advantages over REST – when comes to large, distributed enterprise
environments.
Has a higher learning curve than REST and requires the use of more expensive
tools.
RESTful APIs – the most popular for mobile apps, but that doesn’t mean that
they are the only mobile app APIs.