Porting iphone application. If you started your application from scratch again, what would you do differently?

If you started your application from scratch again, what would you do differently, knowing what platforms you are going to port on? These questions arise since my team is going to develop a program for mobile applications oriented to iphone, android and qt. We strive to first complete the iphone version, and then transfer it to android and qt, and it would be great to know any hints or ideologies to understand / use from the very beginning, which would make the porting process as smooth as possible. I am sure that some of you who first completed your version of the iphone app and then started developing the version for Android. I really want to know about any obstacles that you have encountered, or about what you would like to know from the very beginning.

edit: More specifically, the application we are creating will contain forms and some visual effects (diagrams).

+6
android iphone qt porting
source share
3 answers

I think that although porting is the right verb in this context, the concept may be wrong. This may be an unpopular answer, but it says here:

Do not transfer. A certain number of classes can be directly used (only with language translation) from one platform to another. Those you send. However, the user interface can and should be able to freely vary between the two platforms ... different concepts and, more importantly, different components and different conventions, both from the point of view of the user and from the developer.

The fact is that the New York Times app on the iPhone is against Android. I’m sure that they managed to save about half of the common code application, but everything else was translated to keep track of the idioms and SDKs of each platform. Superficially, this is the same application, but when you really enter it, much more.

So, instead of advising you to "not end one port before starting any of the others," I would advise you to identify the common or common parts of the application and pay close attention to making them as universal as possible. The rest of the application should probably be platform specific (obviously, your versions for iPhone and iPad should share about 90% or more of their actual code ...)

+3
source share

First, identify the common technologies available on all platforms, and try to use them as much as possible - OpenGL, SQLite, etc.

Further, I would advise you not to finish one port before starting any other. Start some basics with at least one of the others in parallel from day one. You will probably find that you can solve many questions much earlier than this way. You may not feel that you have dev resources for this, but I think this is more important than it might seem.

Pay attention to your software architecture (MVC, although Qt is a Model-View-Delegate). There is always a tendency to skip architectural purity in order to enter the market faster with a slightly dirty, slightly hacky solution. Try to counter this as much as possible because you will still have to bite these bullets very soon.

+2
source share

As Simon noted, start some basics of at least one of the others in parallel. You will encounter many feasibility issues related to the implementation of a single function in the same way on all platforms, and this will happen when we try to simulate the same user interface design (using controls) on all platforms.

+1
source share

All Articles