Develop for Android or Windows Store

Dr. Canny

Junior Member
Sep 24, 2013
22
0
0
I wasn't originally entirely sure whether to put this thread in the Programming Section or the Operating System section. I'm putting it here though because the question arises strictly because of programming, and it just happens to involve operating systems. Anyways...

I currently use Windows 7 as my main operating system. I personally am not enthralled in mobile hardware such as phones or tablets, however I have been wanting to start developing mobile applications on the side for a little extra cash; mainly just for the experience. I can't decide whether I want to develop for the Android side of things or for the Windows Store. It is my understanding that I would need to upgrade to Windows 8 in order to develop apps for the computer on the Windows Store, but I'm not sure if I would need to for the Windows Phone side of things.

Most of my programming experience lies in C/C++ and Visual C#. I've focused on those three languages for the last 3 years and haven't really delved into any other. I've been skeptical about trying to develop for the Windows Store because I'm worried about upgrading to Windows 8. I don't really enjoy it's design, and I've read hundreds of horror stories about upgrading to 8.1.

So, my question is, if you were in my shoes, would you stick with Windows 7 and work on developing Android applications, or upgrade to Windows 8 to develop for the Windows Store?
 

Leros

Lifer
Jul 11, 2004
21,867
7
81
If you can write C#, it will be easy to learn Java. They're very similar.
IMO, it comes down to what platform you think will get you the most users/money. The Android market is a lot larger but also kind of saturated. Its probably easier to write a hit for Windows.
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,591
5
0
If you can write C#, it will be easy to learn Java. They're very similar.
IMO, it comes down to what platform you think will get you the most users/money. The Android market is a lot larger but also kind of saturated. Its probably easier to write a hit for Windows.

I had learned C++; took two community college course in Java and was bored out of my mind. the third course was where I learned something.

If you write the code well enough; you should have no problem porting to another platform/language.
 

Leros

Lifer
Jul 11, 2004
21,867
7
81
I had learned C++; took two community college course in Java and was bored out of my mind. the third course was where I learned something.

If you write the code well enough; you should have no problem porting to another platform/language.

Agreed. However, it's a lot easier to go from C# to Java or C++ to Java than it would be to go from Python to Java or PHP to Java.
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,591
5
0
Agreed. However, it's a lot easier to go from C# to Java or C++ to Java than it would be to go from Python to Java or PHP to Java.

I have used Python only as a front end for testing avionics display. It seemed to be more a script language
PHP, I do not know anything about
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
The OP's question seems broader than yet another "which language is best" debate. I think it's a pretty tough question, actually.

On the Android/iOS side (OP didn't mention iOS, but tossing it in there) you have massive market penetration yielding a potential audience of many millions. The other side of that coin is that both of those marketplaces are dominated by a relatively few developers, and it can be really hard to rise up above the noise level. Have to add in the "learn a new stack" costs as well. However smooth the transition from one language to another, you still have a whole ecosystem of tools and processes to wrap your brain around.

On the Windows phone side you have a pimple's worth of market share, but you could say that equates to a big fish/small pond opportunity, and there's the advantage of already knowing most of the stack.

Not sure what I would do. If you think the Windows platform is going to continue growing at _some_ pace (i.e. not crash and burn), then that might be the most pain-free route to cutting your teeth in mobile. The marketshare question is a big risk, though.
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,591
5
0
Dive into the Windows market place first and tweak the application based on feedback.
Once you have a solid product go through the port effort to Android.

Then if crazy enough try Apple. :biggrin:

I personally feel that the Windows market will exists as long as MS will throw $$ at it.
Just like the Xbox - if the revenue stream is greater than the expenses of development and support, it will be there.

However, because of the Android lead and footprint; Windows will always be the third market.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
Considering what you said, I say go to Win8 and develop for the Windows Store.

Gets you in on mobile and desktop, so at the very least you get to try your stuff out there even if it doesn't sell. Or, if you use Android for your own mobile phone, dive in there. But if you're not interested in Win8 nor Win8 mobile, then I would avoid developing for it.

My thoughts on mobile is that only iOS is worth developing for (game or otherwise). Because iOS users tend to buy more, and there's a sensible number of device configurations to target.
I've always used Android (GS3 currently) and have a good # of apps that don't work 100% properly because of the fragmentation problem.. and because of that I have lost a lot of interest in Android in general. Looking at something else for my next device.

If it's not a game, then I'd do native for iOS, and mobile site for every other platform.
 

Cogman

Lifer
Sep 19, 2000
10,278
126
106
It depends on what your goals are. Do you eventually want to be a mobile developer? Go with android (bigger market). How important is the extra cash? Very? Then go android. Not very? Then go with Windows Phone (android has a bigger market, you are more likely to make money there).

If this is mostly for fun, I would go with windows phone development. C# is simply a nicer language and it is pretty easy to get something up and running in windows 8.

Also, don't believe the BS windows 8 upgrade horror stories. I did an online upgrade from 7 to 8 and it was a piece of cake. Went from 8 to 8.1 without a hassle. The os isn't that bad, you will find that that the missing familiar start context menu wasn't nearly as useful as you thought it was (and the functionality is all there with the new start screen).
 

smakme7757

Golden Member
Nov 20, 2010
1,487
1
81
It is my understanding that I would need to upgrade to Windows 8 in order to develop apps for the computer on the Windows Store, but I'm not sure if I would need to for the Windows Phone side of things.
The test enviroment for Windows Phone is based on Hyper-V and it's part of the install for the Windows Phone 8 SDK which means you need to be running Windows 8 or 8.1.

The SDK is free, but I'm unsure as to how you would be able to program with it, without Visual Studio 2012/2013 - I have never tried in VS2010.

If you can write C#, it will be easy to learn Java. They're very similar.
IMO, it comes down to what platform you think will get you the most users/money. The Android market is a lot larger but also kind of saturated. Its probably easier to write a hit for Windows.
Those were my thoughts exactly. Much smaller market on Windows at the moment and people are willing to buy into good apps.

Although making a hit on Android or iOS (or both of those) would net a higher return than a hit on Windows. Purely due to the discrepancy in the user base.
 
Last edited:

Graze

Senior member
Nov 27, 2012
468
1
0
Agreed. However, it's a lot easier to go from C# to Java or C++ to Java than it would be to go from Python to Java or PHP to Java.

C# to java couldn't be easier. I just wrote my first Android program. Its not the language difference that would be a head scratched but learning the Android SDK with it's Intents and Activities and it Views.

I was a C++ programmer(somewhat, lol) and moved to C# and PHP. C# is simply the best programming language I have used.
Python(next to VB) being the worst with its whitespaces(what do you expect from someone who cut their in C++) and lack of libraries.
 

Cogman

Lifer
Sep 19, 2000
10,278
126
106
C# to java couldn't be easier. I just wrote my first Android program. Its not the language difference that would be a head scratched but learning the Android SDK with it's Intents and Activities and it Views.

I was a C++ programmer(somewhat, lol) and moved to C# and PHP. C# is simply the best programming language I have used.
Python(next to VB) being the worst with its whitespaces(what do you expect from someone who cut their in C++) and lack of libraries.

Python lack of libraries?

No, python has plenty of libraries. Their main problem is the immaturity of their libraries (and some of the devs in the Python community). C/C++ have a boatload of libraries, more than almost any other language. Funnily enough, C# probably has the fewest libraries in the languages you've listed, it just has a massive standard library (Most of the work of the mono project is literally just implementing the standard library stuff, and they still don't have everything).
 

Fox5

Diamond Member
Jan 31, 2005
5,957
7
81
You could use Xamarin to develop in .net for Android and Windows.

http://xamarin.com/android

Of course, only the application code would be shared, you'd still have to make seperate GUIs for both, which may be a substantial part of the application. It also costs money.
 

Graze

Senior member
Nov 27, 2012
468
1
0
Python lack of libraries?

No, python has plenty of libraries. Their main problem is the immaturity of their libraries (and some of the devs in the Python community). C/C++ have a boatload of libraries, more than almost any other language. Funnily enough, C# probably has the fewest libraries in the languages you've listed, it just has a massive standard library (Most of the work of the mono project is literally just implementing the standard library stuff, and they still don't have everything).

Well for what I needed it for the libraries were lacking something that both PHP and C# came native with.
To its defense, java's native libraries also lacked what I needed but there were lots of libraries that implement what I needed in Java. I couldn't find any for Python and wasn't going to spend any amounts of time searching and hoping one did.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
No, python has plenty of libraries. Their main problem is the immaturity of their libraries (and some of the devs in the Python community).

Have to agree with this, and also inconsistency with respect to naming conventions and implementation patterns. And the documentation of many libraries ranges from non-existent to horrible.
 

Fox5

Diamond Member
Jan 31, 2005
5,957
7
81
Have to agree with this, and also inconsistency with respect to naming conventions and implementation patterns. And the documentation of many libraries ranges from non-existent to horrible.

However, Python is fantastic for rolling your own solutions quickly.
It's a fantastic wrapper around stdlib, or tying together C libraries in general.
And it's a decent replacement for a shell language.

I don't think I'd use it on a professional project, but it's got the right level of abstraction for quick and dirty scripts and personal use programs. Well, technically I would use it on professional projects (I have), but I don't think I'd use it on a team project or something that has to deal with large numbers of error conditions.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
However, Python is fantastic for rolling your own solutions quickly.
It's a fantastic wrapper around stdlib, or tying together C libraries in general.
And it's a decent replacement for a shell language.

I don't think I'd use it on a professional project, but it's got the right level of abstraction for quick and dirty scripts and personal use programs. Well, technically I would use it on professional projects (I have), but I don't think I'd use it on a team project or something that has to deal with large numbers of error conditions.

Yeah that's about right, imo. It does get used on a lot of professional projects, and I wouldn't necessarily shy away from using it on one, as long as the individual components to be built with it were relatively self-contained.
 

Dr. Canny

Junior Member
Sep 24, 2013
22
0
0
Thank you guys so much for the responses. I think I have decided to continue with my C# experience and upgrade to Windows 8 and use Visual Studio 2012 to develop applications for the Windows Store.

I was also thinking of purchasing a cheap desktop and installing the Ubuntu distribution on it to try out the Android side of things through Linux. I need to become more familiar with Linux as it is, so this seems like a pretty solid idea. I was originally going to install Ubuntu to my external HD and try to boot from it, that way I wouldn't have to partition my internal HD on my Alienware in hopes of avoiding any problems; but I have the extra cash as of now so I might as well go ahead and devote a desktop to the Linux experience.

Nonetheless, I thoroughly appreciate everyone's input.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
You could also:

- Install VirtualBox and run linux in a VM - but I'm not sure if the USB connection to the android device will work properly for debugging.

- Install the Android SDK on Windows instead.

Note for Windows Phone development: it's rumored that MS will be combining RT and Phone together somehow since MS doesn't want to have 3 OSs and RT is not selling at all. So Metro desktop / touch app development might make more sense in the short term until you see what happens to the phone OS.

http://www.zdnet.com/microsoft-we-a...ree-different-versions-of-windows-7000023593/
 

Red Squirrel

No Lifer
May 24, 2003
67,907
12,375
126
www.anyf.ca
I'm an open source/Linux guy, but I think I would actually consider Windows mobile, just because there is probably a bigger demand for apps. So while Android has a bigger market it is probably very saturated. You could then code it for android after. Or Apple, as that is a even bigger market.
 

Monster_Munch

Senior member
Oct 19, 2010
873
1
0
I've released a few Android apps in the past. I've noticed it's much harder to get noticed now than it was a few years ago when the market had only 100k apps.
 

Dr. Canny

Junior Member
Sep 24, 2013
22
0
0
You could also:

- Install VirtualBox and run linux in a VM - but I'm not sure if the USB connection to the android device will work properly for debugging.

- Install the Android SDK on Windows instead.

Note for Windows Phone development: it's rumored that MS will be combining RT and Phone together somehow since MS doesn't want to have 3 OSs and RT is not selling at all. So Metro desktop / touch app development might make more sense in the short term until you see what happens to the phone OS.

http://www.zdnet.com/microsoft-we-a...ree-different-versions-of-windows-7000023593/

I already have VMWare installed on my Alienware M14X to run Ubuntu virtually. The problem I face is that when I've tried writing a program in C through a text editor, I'm not able to save my work, close out of VMWare and return to it later. I don't know if I'm doing something wrong, or if saving on a virtual machine isn't possible?

Any hints?
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
I already have VMWare installed on my Alienware M14X to run Ubuntu virtually. The problem I face is that when I've tried writing a program in C through a text editor, I'm not able to save my work, close out of VMWare and return to it later. I don't know if I'm doing something wrong, or if saving on a virtual machine isn't possible?

Any hints?

I don't use VMWare, but in VirtualBox there is a setting for VMs labelled "Remember runtime changes." This basically controls whether changes to removable media are actually written to the physical disk or not. If not, then everytime you shut the VM down you lose whatever changed since it was booted.
 

Dr. Canny

Junior Member
Sep 24, 2013
22
0
0
I don't use VMWare, but in VirtualBox there is a setting for VMs labelled "Remember runtime changes." This basically controls whether changes to removable media are actually written to the physical disk or not. If not, then everytime you shut the VM down you lose whatever changed since it was booted.

Ah, okay. I might have to give VirtualBox a shot then. At that point I would be able to download the Android SDK through the Virtual Machine, and develop apps for the Android Market? All as if I had fully installed the OS?
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |