I would like to learn mobile development for fun and as well to enrich my resumé.
I'm currently developing in C/C++ at work on Windows (and sometimes with C# that I don't like too much). I have a nice Android phone and an iPod touch, so I wonder what is the best enviroment on which work.
Sure iPhone/iOS now has huge user base and a lot of attention, but it is used just i
on 3 devices from a single vendor (iPhone + iPod touch + iPad), Android instead is used by a lot of vendors, however is not gaining the attention it deserves.
I own a MacBook white so I can develop for iOS (I even have installed XCode but it seems a mess to me), but I prefer to work on Windows and I downloaded Android SDK + Eclipse and it seems much more easy given my Visual Studio background. I also know some Java and I'm already resigned to Linux.
So... which one should I learn, also given my background?
I don't think there is a real Answer to your question but since you already have the Android SDK and Eclipse set up why not try that first. Then if you don't like it try something else.
I found it very easy to deploy application on the Android Market and the registration fee is very small.
Android programming is a little bit difficult. Apple provide, in its development tool, a storyboard system that make very simple to control the flow of the app. Android is a bit more complicated.
On the other side, Apple programming is expensive: you need at least a Mac Book, an one between Iphone or Ipad. Last but not least, you need to sign to the apple developer program if you want to publish the app or to test it on a real device, which means 80 dollar/year. You can develop even without the program, and without a real device (iphone or ipad), but this means no possibility to test on a real device, which provides some characteristics that the simulator doesn't provide. And still you need a Mac, for Xcode (the apple developer tool) is only for Mac.
I believe though that is only your choice. Personally, i would begin with Apple in order to start with something that is simple at the beginning, but only if you have all the instruments listed above. For fun, Android is better: more complicated but free.
Related
I have seen that Tablet PCs or just tablets with Windows 10 are been seen more and more on the market, and I feel tempted to program for them since I already have quite some background with C#, besides Java, but since Video calling has some complexity, I'd like to ask first in which platform, Windows or Android, is it better/easier/comfortable/faster to develop an app that supports video calls? It won't be used for the broad public, like Skype, but rather within the internal network of a building. Probably videostreaming can be achieved faster and easier on Windows 10, but maybe things would get complicated if I need to make a videocall, let's say, between an Android Smartphone and such Windows Tablets. The latter is not completely necessary though.
I've done video programming on Windows 10 and Android. For me Android was much easier than Windows. In Windows 10 you'll need to learn Microsoft Media Foundation which was a very steep learning curve for me personally.
I'm converting my Android app (apk) to Blackberry OS 10 (bar).
Everything is ok if i install the bar file to my BB.
But when I try to upload to our BB server to deploy to software to the Z10, i have the problem:
"Qnx/Android" is not supported
I found the root cause here:
It is currently not possible to add Android applications to the work
perimeter on the BlackBerry Playbook tablet or BlackBerry 10
smartphone; this is by design.
Since all applications added to the BlackBerry PlayBook tablet or
BlackBerry 10 smartphone via BlackBerry Device Service are installed
in the work perimeter, Android applications cannot be installed.
Alternatively, Android applications can be successfully downloaded
directly into the personal perimeter on the BlackBerry PlayBook tablet
or BlackBerry 10 smartphone.
What's should i do now?
I need to install my app to more hundred of BB10.
Can i reuse my Android code?
If can't, what's the best solution, best language if i must you write all the code from scratch.
Thanks you
Possible duplicate of
Deploy repackaged android (BB10) APP in Blackberry Enterprise Server within workspace
You can't reuse any of your code.
The best option depends on the type of application. If it is reasonably complex, with interaction with on device stuff like location, then Cascades/C++. Alternatively, you might consider html5. Have a look round here for more:
https://developer.blackberry.com/
Playbook is another curve ball. If you have to support that then you can't use Cascades.
And to be honest, there is a certain amount of personal preference involved here too - what do you like writing in?
Just a FYI, it took me about 6 months, part time, to feel fully comfortable with C++/Cascades. This was from nothing, no C, no C++, no experiences of GUI design tools and a different IDE. But I created my first app, a really simple one, in two weeks.
I have a fairly large windows mobile app (written in NETCF 3.5). Those in power at my company are wanting to convert this app to run on Android.
What similarities are there between Android development and Windows Mobile (not Windows Phone) development? Specifically:
Window Forms (ie the UI)
P-invokes (my app has a lot of these)
WCF/SOAP web services support
C# and Visual Studio Development tools
Also, if you feel inclined, I would like a general statement on how a conversion would be from someone who has done it. (Keep in mind that I have never made an Android app.)
Background:
Someone (a non-programmer) here did a Google search and found a "tool" that converts Windows Mobile apps to Android for you (push of the button kind of thing). That person now has everyone believing that this conversion will take no time at all.
As a developer that has worked on several platforms, I just find that really hard to believe (though I would be happy to be wrong).
check out Will Google Android ever support .NET? as it might be what you're looking for. Not sure how well it works, but if the non-programmer is willing to front the money, I say give it a try
Update:
Looks like mono switched companies:
http://xamarin.com/monoforandroid
The short answer in NONE. Android is running Linux that is restricted to Java applications. If you want to port an application from .net to Android, you are looking at a total rewrite.
Sam
There is the monodroid project, which takes .NET applications and makes them run on Android's OS, but it's still very experimental and in no way ready for production applications. Otherwise, to mirror "Sam's" comment above, there are no similarities really. I've been building mobile apps for 11 years (delivered over 60 on various Windows flavors) and the Android model is very different than what you might have done in the past on Windows CE 5 or Windows Mobile 6 type systems.
I want to start Mobile Phone development, but I am very very new to this area, I have 3 choices: iPhone, Nexus One and Windows Phone. I believe Nexus one atracts me more. But I have never bought a smart phone. My questions is: If a buy one Nexus One from Best Buy store, can I use it for developing Android applications?
I appreciate your help, nobody helps me with this question and I am a novice in smart phones.
Thnak you
Edgar
For the most part you do not need a device to start doing mobile development. You can download the Android SDK complete with an emulator here: http://developer.android.com/sdk/index.html
If you're not sure which kind of development you'd like I'd recommend downloading the toolkits for all the major ones, trying them out, and then decide.
Android
Windows Phone
iPhone
Blackberry
You don't develop mobile software ON a mobile device. You use them to test.
If your choice is Android vs. Windows vs. iOS, then you need to decide what kind of software you will be writing.
For native apps, all 3 use very different development platforms (java vs. .net vs. objective-c).
If you're going to go the HTML5 + Phonegap route, then it really doesn't matter. And you really don't need a physical device anyways...you can always test on simulators.
If you want to do ANY app dev for iOS, though (be it native or phonegap) you WILL need OSX on a desktop/laptop computer.
First decide what operating system you want to work on as DA suggested. If you have decided to develop applications for Android then iPhone and Windows phone is of no use to you.
Only those devices having Android Operating System you can use, Nexus One or Samsung GalaxyS are good options.
But before buying anything you can start developing applications as there is emulator provided which does most of the work that a device does.
I am planning on purchasing the Motorola Atrix 4G for AT&T. As is, you will not be able to side load apps without using Sideload Wonder or something similar.
Does Google App Inventor work with AT&T phones?
Of course, it should. The preferred way to work with Google App inventor is through the use of the usb cable anyway (forget Sideload Wonder, Google App inventor is a very different animal, it's not like your standard Android developer tools at all).
The reason you'll want to use the usb cable (the one that will come with your phone) is because any changes you make to the blocks you're editing will appear immediately on your phone, and the rapid feedback you get from App Inventor (as opposed to ADT/adb/Eclipse) is absolutely phenomenal.
That being said, are you really sure you want to learn App Inventor? If you're serious about developing for Android, you'll want to use the more traditional Android developer tools.
App Inventor doesn't give you access to the source (to them, the visual blocks are the source), and even if they wanted to give you access to the source, it would just look like partially compiled Scheme/LISP anyway. So App Inventor is a great tool for kids/teenagers/beginners/teachers/hobbyists, it's a great tool for learning how to program in general, it's even a better and more sophisticated tool than most of the most traditional developer tools I've seen, but don't count on it if you really intend to program on Android for professional reasons.
At the very least, you'll be able to export your apps from App Inventor and sideload them manually each time using Sideload Wonder. It would seem silly to me to release a phone that wouldn't work with developer tools, but there are plenty of examples of AT&T being a bit silly when it comes to openness.