Introduction
With the increasing amount of smartphone users all over the world, the
wise thing to do is to have a mobile app strategy that can bring your service
or product to this growing market. However, you may also wish to have a
presence on the desktop via a web app, maximizing your overall reach. These
days it is almost expected of any web app to have a mobile app version, and you
can't always just rely on responsive design.
Why Create an API?
The case of having a web and a mobile app presents several complications.
One of the issues is the need to have a standardized and centralized way to
store data coming from both the web and the mobile. This can be useful, amongst
other things, to avoid repetition. You can save some developer time. by
just creating a storage layer once, as an API, and reusing it with multiple
application versions. The only variation would be the presentation of the app.
Whether on the web, iOS, Android or anything else, you'd only need a way to
communicate with your API and presto, you have your centralized data storage.
An API is related to the concept of SOA (Service Oriented
Architecture), which is basically a pattern for designing an application formed
by various pieces, each one with a different, specific functionality. All the
pieces communicate using a defined public interface to provide functionality to
the whole application. This allows for high interoperability between
applications, and a low coupling between the pieces, which means better
maintainability.
These are sufficient reasons for aiming to create an API, even if
you're only creating a web app. You're “eating your own dog food”. Maybe at
first you will only use your API privately, but you'll be ready later for
publishing a subset of that API to provide external developers a way of
extending your ecosystem with their own web or mobile apps.
Why REST for Mobile Apps?
Representational State Transfer( REST), is a protocol for making
requests to a web endpoint by using HTTP and it's verbs (GET, POST, PUT,
DELETE). It's generally used in conjunction with JSON, which is a lightway data
format. It offers the benefit of a lightway data transfer, in contrast with the
way SOAP works using XML, which is far more verbose.
In addition, REST has the properties of being stateless, cacheable, and
possibly layered, which all contribute to one of it’s key goals, scalability.
You can easily have you REST service distributed between several load-balanced
servers, and even save precious CPU cycles by reusing already generated data in
some requests.
The Basics of REST
As mentioned, JSON is recommended for data transfer in a REST API, so
you’d be sending and/or receiving JSON data in each request.
Let's say you have an accounts resource. You'd have the following REST
API:
GET
/accounts Returns the list of all
accounts
GET
/accounts/:id Returns a single account
POST
/accounts Creates an account
PUT
/accounts/:id Updates an account
DELETE
/accounts/:id Deletes an account
You may need some form of authentication for a subset of your API. This
can be HTTP Basic, or maybe token based authentication.
There are many possible error codes for an HTTP response, but the most
common are these:
200 Response OK
201 Resource created
404 Resource not found
500 Server error
You can easily implement a full API using just these concepts.
Although once you get going, you’ll want to dig deeper into what you can
do. Maybe, you’ll need to use a few other HTTP response codes or maybe you need
to implement some form of OAuth for the authentication part. You can figure
this out for your software development and mobile app projects along the way.
Final Toughts.
REST is good for you. Currently, it’s almost a given that if you have a
web app, you need to have a companion mobile app. Even if you only have the
mobile version, it's nice to have a centralized data storage. REST can help you
accomplish this.
sumber: http://www.itexico.com/blog/bid/96239/Software-Development-Tutorial-Using-REST-to-Develop-Mobile-Apps
Share This :
comment 2 Comment
more_vertnice tutor
17 August 2014 at 20:31thank's
18 August 2014 at 02:27