Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
The community reviewed whether to reopen this question last year and left it closed:
Original close reason(s) were not resolved
Improve this question
I have been using Xamarin to build an iOS app with a very customized layout. My plan is to build exactly the same app in Xamarin Android. I am eager to do it and I am interested into getting to know Android as well but it's alot of work to repeat. Xamarin Forms shares GUI code across platforms to some extends but it makes me wonder if there are any plans to automatically convert code between iOS and Android. Auto conversion would safe alot of time and allows the developer to choose his favorite platform to develop on.
There are sites like https://www.myappconverter.com/ and http://www.apportable.com/ for converting between native languages not sure how reliable they are. My question is if there any future plans or open source projects for auto converting Xamarin iOS to Android and vice versa?
Thanks!
No, there are no plans about converting code. Xamarin gives you the opportunity to share as much code as possible over different platforms. You can use Xamarin.Forms to create a UI once and get it rendered natively on all platforms. In case you don't like the restrictions of Xamarin.Forms you can chose Xamarin.iOS and Xamarin.Android to build the native UIs.
MvvmCross allows you to use the MVVM-Pattern. By doing this, you only need to recreate the user interface itself without writing navigation logic twice.
If you don't know whether to chose Xamarin.Forms or not, take a look here: When to use Xamarin.Forms vs Xamarin Native?
Converting code automatically is a bad idea in general. Platforms and languages are so different that the result of an automatic conversion never feels great.
Xamarin already provides everything you need to create UIs for different platforms without much pain. It's on you to take the best out of it.
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I want to start learning Unity, I'm a web developer and I have a decent level in C# but I've never touched Unity before.
I mainly want to create games for Android (maybe iOS in the future), there are many courses on the internet but I'm wodering if I need to have a good understanding of Unity PC/Mac.. before trying to learn Unity for Android.
I found this course : https://www.udemy.com/course/unitycourse/, It seems like a it's a complete and detailed one, but it has nothing to do with Android. Should I learn something like this first?
I'll appreciate any advices, thank you.
As an android developer that made a few games with unity, I think that if your end goal is to develop for android so just start with that..
I developed several apps(games) for android and I didn't had any problem with it and I didn't even know C# before.
Besides, you will get a better idea about how to make an optimized app that can work well on Android.
You can find some great Videos on youtube, for example this channel
Do a quick project on the desktop first.
The setup required to build for android devices will be an extra hurdle to get over, so I would recommend starting with a project that you can develop directly on the desktop, if the primary goal is just learning.
Besides the small amount of extra work it takes setting up Unity3d to build for Android, it will also be a slower to build and run the project on a smartphone than just running it directly on a desktop. And there will always be a lot of trial and error when you are still learning.
And if you think ahead, it might be no problem porting your desktop-project to mobile after a while. Touch can be pretty similar to a mouse, and Unity3d won't care about the difference in many cases.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm a WPF and WP8 developer and I'm planning to develop all my current apps for android too. I did some research and read a little about android development. From what I've read, Android's XML is terrible compared to XAML. The tags are long and terrible (For example, why couldn't they just have Width instead of android:layout_width ?) And the most annoying part was that there is no equivalent for data binding.
So, I looked into alternatives and came across Xamarin, which seems a better. But I have a few questions I was hoping someone would help me with.
My biggest question is should I go for Xamarin or go ahead making native android apps in java? Is there any disadvantage on using Xamarin? Because there is a good thing about it that I can reuse most of my code..
Is there data binding like functionality in it?
Does Xamarin support all features that a native app would? Will I be able to get Material UI design templates in it?
Also, if you have any other advice or suggestions do let me know.. Thanks
My suggestion would be.
1)
Take it easy. Android development is not that bad.
It is true, you do not have data binding facilities as you have in WP but that is not end of the world.
Android xml is simple and it beautifully solves the issue of different screen sizes and types.
You have to write more code in android than in WP. WP came after android which allowed Microsoft to come up with better development patterns for rapid development.
2)
Big no for Xamarin. Xamarin reduces your options because it relays on android library wrappers in c#. Only benefit of Xamarin is to have common business logic. that is normally 5% percent of any project. In most cases you would find yourself in very tight situation; for instance, if there is any good 3rd party android library that you want to use in your project then you have to wait Xamarin wrapper for this library in order to use it.
3) Not always, you would find restrictions
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I have a relatively simple tkinter program that just uses Event, Button and Label objects. I would like to translate this to be usable on an android platform.
1) What python for android should I use? QPython, py4a?
2) And on that platform, what GUI module should I use?
I'd like a little bit of detail for why you think a specific module or app would be best, as I'm just getting into the android scene and want to make an intelligent jump.
Even for native purposes, most developers would advise you keep away from Tkinter. It's a dated and unintuitive library that often makes GUI creation and maintenance harder than it needs to be.
The main advantage of developing apps using a Python library and embedding in Android is cross-platform support.
These libraries will often allow you to port your app with ease to many different operating systems.
I will not answer which is "best" since this is an opinion-based question outside the scope of StackOverflow, however I will say it is (generally) easier to port from Kivy to android than it is in some other libraries (such as Qt). But take this with a grain of salt.
Most libraries nowadays offer advanced GUI capabilities built-in, and your choice will likely not limit you in that regard.
Either way, there is no direct/simple way to translate your Tkinter project to any of these, and you will likely have to rewrite it with the library you end up choosing.
I will add that if your intent is developing only for android, most would advise developing in a native Android language, such as Java or Kotlin, or using a development tool which makes use of such languages. This would result in smaller APK sizes and likely faster running times for your app.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I have built a very simple android app (i.e., an app that essentially just shows pictures along with some quizes). I am curious what the cheapest way of duplicating my app on iPhone, assuming I can't do it myself?
In that case, you should develop this app in titanium framework that framework basically supports javascript type structure and provides platform to develop app in both platform ios as well as android.
You might want to take a look at the j2ObjC project from Google
It will convert existing Java code to objective-c.
I haven't tested it and don't know how well it does perform, but if the app is simple, it should do well
If your application feature has not required native framework then you can create your application in multi platform framework.
Apache Cordova is one of the reliable mobile application framework which is run on iOS, Android and many other operation system.
Also you can find much details on this Link.
So you can make you application with using such framework and deploy on any operation system.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
independent from the fact if it makes sense or not, if it is a good way to create Android apps or not: for (educational/personal/whatever) reasons I want to create an Android app with graphical user interface in C++ using the NDK.
What I found so far are some information about the NDK, how to create native libraries and how to access them out of Java applications. But what I'm really looking for are some information how to create a View and to add graphical user interface elements to that View out of my C++ NDK app.
Any ideas and hints how that can be done or where some more information/HOWTOs can be found regarding this?
Juce is a fantastic C++ UI framework that works well on Android.
It can be used under the GPL or a paid-for commercial licence. The community is fairly active and the author is very friendly and helpful. I found it relatively easy to build using the NDK tools on Windows.
Caveat - it seems Android isn't a high priority platform for them, so some things are missing at time of writing (e.g. support for hardware buttons). Still, in my experience, the UI framework does work very well on Android, and that's what your question is about.