It's possible to convert an application Android (.apk) in iOS (.ipa?

Is it possible to make a front-end iOS application that communicates with a back-end Android application?

  • I want to have my iOS concept developed with the hopes that it will communicate with an Android application well. Basically, a small business will have an Android version of the app (we will be providing them with the tablets, that is why I prefer cheaper Android devices), whilst the customer has an iOS version on his iPhone/iPad. Is it possible to, for example: iOS user sends an order request that then shows up on the Android platform, and confirmation can be communicated between the two devices fluently.

  • Answer:

    I believe you are overthinking the concept. The best method is via a server. You can communicate directly with an android device, you can even run an Http server on an android device... but the problem is you want to know the IP of the device to communicate directly. This can be done, but then you have to know local IP on wifi or remote IP via cellphone service, and switch between them. You can use dynamic IP address servers... whew... a lot of effort for a little benefit. Why not have the iOS talk to a server and the android talk to the server. They are both client apps so only need to know how to talk to the server, but they are two different apps handling the two different necessary applications. I am not sure what you are trying to achieve by direct communication, but yes it can be done.

Jeffry Brickley at Quora Visit the source

Was this solution helpful to you?

Other answers

Yes. One can set up iPhones to talk to Android devices peer-to-peer. Both devices can communicate without regard to "which operating system the other device runs". A much more probable case would be that both kinds of devices will communicate with a mediating server, which will "serve" the data to whatever device (if that device has the credentials to get the info). This is a simpler, more standard way to implement the system you describe. Also, that same server could produce web pages to view on the web in a browser, from ANY device, and also serve reports and overview screens for the people who need to run this whole system. Consider the need to have oversight, review, reports and more for the whole system: having all operations and transactions pass through and recorded on a "central" server makes it easier to accomplish - the alternative is to poll all of the devices or otherwise gather the info from each device one by one to somewhere (persumably another device, or, yes, a server) just to get a report or sum of actions done. What if a device disconnected? How do you make the report without it? Gathering the data from the "clients" (devices) for a report "on demand" (that is, exactly when the report is demanded) is very, very problematic. Distributed systems which have peer-to-peer communication usually use it to get some speed benefits (if the system needs communications as fast as can be - that is, improve on the milliseconds level!), load-balnce, multiplexing, distribution and bandwidth concerns, or stability and security (consider a military system which needs to run on whatever clients are currently available and assumes some will be destroyed, so having a central server which might get destroyed would be a risk worth avoiding)

Ido Rabin

It is called MVC. You have different Views depending on platform and user role. Model is database. And controller is your program that control interaction between. iOS user make request that is stored in database. Android platform can use for example Observer pattern to see all new requests. This is high level object oriented programming, Take a look on Laravel 4 framework.

Marcin Kop

Yes this is possible.  A client application on any platform must communicate with a back end service to store and retrieve data, and communicate with other systems.  A single backend service, using a universal interface, will support all client platforms (android, iOS, desktop)

Dave Hagler

To simplify some answers already given here. Apps on mobile devices are simply front end clients as others have mentioned. It's really irrelevant what platform they are on as each app instance should communicate with the cloud. In your case you would I.E. Have a cloud back end (web application aka web service) running on something like Google App Engine + Google SQL for example. There are more out there like Heroku, Amazon EC2 etc but they have varying degrees of complexity in setting them up. So lets say Google App Engine would run your web service (read it like a web server that is optimized for scaling, replication etc and run for you by Google as PaaS) and you would connect to Google SQL as your database. MVC as mentioned as well is simply a design pattern in software engineering and many frameworks today use it as standard when writing web apps (Ruby/JRuby on Rails, PHP/Laravel, even Java has stuff like Play). The best modern approach is to build RESTful API with your web back end with let's say PHP/Laravel or Ruby on Rails as they are both wonderful for this type of stuff and rapid development and RESTful API. You deploy it to you favorite PaaS such as Google App Engine and since you exposed, platform neutral RESTful API that reads and writes to your database you simply call that API from any client you are connecting with regardless of the platform (web/iOS/Android). So with this intermediary your client apps communicate to each other.

Boz Bundalo

If you know multi platform programming language like Qt, which can built solution on Android, iOS, etc, you can use Enginio as backend and built your solution using Qt. Same model achieved using Node.js as backend and PhoneGap as frontend. Or ASP as backend and Xamarin as frontend, Or Java EE as backend and Java ME as frontend (although I do not recommend this approach)

Renan Prasta Jenie

If mobile app want to communicate to each different platform like iOS and Android. You need a third party cloud server. For your case, iOS App can submit order to the server, and Android app can just go on sever to retrieved the latest data. And their are lots of solution can done this, but if you just want to try it from small with few resource, I suggest using http://parse.com. It can store data, write cloud code, even push to the devices you want.

Edward Chiang

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.