I need to work on a project in web-application but really need to have it as a mobile application because the target environment make use of phones more than laptops, though also planning on having the web application later.
The application is like a social-network site but not for social contact. It has basically 2 different kinds of users (Common users & Professional users). Every user must be able to create his profile, and the common users must be able to follow professional users (just like twitter).
My questions are:
-
Can I just have it as a web application and then look for a way to convert it
to a mobile application as I only have experience with web but not with mobile applications?Taking facebook as an example, does it has a separate mobile application or
just convert the web application to mobile app? -
What kind of database(relational or non-relational) is suitable for this kind of task.
Thank you.
It depends on the end product and what level of device integration you hope to have (and when you hope to have it).
To start with, it sounds like you’d be best served by designing a standard web application with mobile support… if you are diligent and design EVERYTHING to support mobile browsers then there isn’t any reason that your initial deployment won’t have support for both desktop and mobile platforms on day one!
Another thing to consider, if platform-specific mobile applications are a long term goal, is the architecture of your application. If you plan now to decouple the data and logic from the UI (MVC pattern) you’ll find yourself in a much better position to quickly develop service-consuming mobile applications without having to touch your existing application or server software at all! You can even go so far as to make your web-application service-oriented, which could reduce mobile application development to a simple UI implementation.
The choice of DB really depends on what you need to do, though my personal choice for any “normal” web application would be relational. Here is a link to another question tha thas been answered on the subject of non-relational databases: Why would I want to use a non-relational database?