Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

making a mobile application from an existing website [closed]

Tags:

ios

mobile

iphone

I have already developed a fully-functioning website, and our team is looking to export this site to an iPhone application (and eventually other platforms). The best example I can give is I basically have made Facebook, now I want to make Facebook's app (the one that is launched from an iPhone's home screen, not from the browser). So, obviously, we already have the functionality, and we just need to convert it to another platform. How difficult is this? Will we have to make a completely new piece of software and basically ignore all of the existing PHP code that we already have? The app is basically going to be the same as the website, except for a few layout changes. We might want it to be able to access the camera feature and definitely be able to upload a picture, which I think would rule out a mobile application? I still don't understand the delineation between making a mobile application and an application that launches from the home screen of an iPhone. Do you guys have any suggestions as to where to start and how difficult this all will be? If we can get the functionality we want and make it easier on ourselves by using existing code, we would be thrilled.

Thanks

like image 444
Scott Fink Avatar asked May 05 '12 22:05

Scott Fink


People also ask

Can we convert a website into an app?

Hybrid. You can think of hybrid apps as a cross between a website and a native app, hence the name. Hybrid apps allow you to convert your website into apps using purely web-based technology, and are essentially a native container (the native app part) that displays web content (CSS, JavaScript, HTML) when used.

Can an app work without a website?

Mobile apps can work offline. Although apps too might require internet connectivity to perform tasks, they can still offer basic content and functionality to users in offline mode. Why are apps faster than websites? Apps usually store their data locally on mobile devices, unlike websites that generally use web servers.


2 Answers

Let's start with the basics.

A mobile site is a website accessed through the phone's web browser. The HTML pages are served from a web server (and the UI is optimized for the phone layout).

A native application (often referred to as "app") is essentially an executable application that is downloaded to the phone. For iPhone these are written in Objective-C. For Android they are written in Java. For Windows Mobile they are written in C#, etc.

Here's the bad news you are facing:

-In order for your application to launch from the "home screen" of the iPhone it must be compiled using Objective C. Same with Android/Java.

-In order to access the camera, it needs to be compiled using Objective C (or Java for Android).

So here's some good news for you:

-You can easily write your native app to be a purely UI front-end and call your existing server side code using a REST API model for the business logic. You just have to expose the functionality you need to expose to the app. So that's 1 way to reuse existing code base and make the app simpler. There are good Objective C frameworks like RESTKit that make this pretty easy.

-You could make your app really cheesy and essentially make it a web browser to your site, but that may not be approved by Apple if you don't customize it for iPhone somewhat. And it will be a poor experience for iPhone users who expect an app to perform like an app. I would not recommend this.

-If you plan to release onto multiple platforms, or really don't want to have to maintain an Objective C project (and Java project in the future), you could use something like PhoneGap, Appcelerator Titanium, or Sencha Touch. These are wrappers that will take an application written in web technologies (HTML 5) and compile them into native apps. These HTML 5 applications can access the camera, etc. Your existing developers don't have to learn Objective-C and can use their HTML/JavaScript skills they already have. There is a lot of upside to these technologies. The downside is your app will not look/feel quite as good as a native app or use any of the "cool" features of the phone. It will perform sorta like a good mobile website. If you have good UI/design people, you can create something pretty good using these web technologies. But if you are just looking to emulate a website into a native app (and not create the next killer game), then it's probably your best bet for a number of reasons.

If you google native app versus phonegap (or sencha touch) there are is a ton of information on the pros and cons. That's probably a good place for you to start learning.

like image 136
Joel Avatar answered Sep 18 '22 09:09

Joel


See clause 2.12 of App Store Review Guideliness

https://developer.apple.com/appstore/resources/approval/guidelines.html#functionality

...Apps that are simply web sites bundled as apps... may be rejected

like image 34
Teofilo Israel Vizcaino Rodrig Avatar answered Sep 22 '22 09:09

Teofilo Israel Vizcaino Rodrig