Related
I realise that this is very much a "how-long-is-a-piece-of-string" type question, but I'd really like to get some idea of the costs and time involved in developing an app for the Android market compared to the iPhone.
My understanding is that it doesn't cost developers to submit apps to the Android Marketplace (as opposed to the iPhone Developer’s Program which costs $99 a year). So there's a saving there.
But in terms of development costs, would you suggest that hiring a developer to create an Android app would be cheaper because the market's smaller? Would it make no difference at all? Would it be harder to find a developer to code for Android?
Basically, any thoughts anyone has on this would be really appreciated.
Cheers,
Why don't you try and find out? Ask some (android)developers what app x would cost and ask some (iphone)developers the same
for most applications it should be cheaper to hire an Android programmer because you develop in standard Java and this is the most widely used language in computer science education. Eclipse is also a standard development environment many young programmers are familiar with. Even I was able to code my first Android application in a matter of minutes.
Objective-C on the other side is a nieche language. Of course, every good progammer can learn that language in a couple of hours or at least days but there are definitly more experienced Java programmers out there and they can reuse code (snippets). Java code is so ubiqitous you can find for a lot of problems coded and tested solutions. So two reasons: there are much more Java programmers out there and they can develop faster. Specific Android experience is not needed as long as you don't want to program kernel extensions or things like that.
But I guess the Apple-market is still more profitable because Apple users are trained to spend money. So even as it may cost more to develop it also brings in more revenue. I hope the sheer amount of Android handsets out there will outweigh this advantage soon.
Humm .. i think this is a tricky question.
While it will definitely be cheaper to develop an application for android, the question you might want to ask (depending on what you want to do) is what is the ROI of an Android application versus and IOS application.
And even then, depending on the type of application & the demographic your app will be targeting (not to mention usability, design, general app quality) the response will likely vary quite a bit too.
But globally yeah, it's cheaper and less a hassle to make an android app i'd say. ..then again, i have an allergy to apples, and this is an android forum after all
robert_tlse said:
Humm .. i think this is a tricky question.
While it will definitely be cheaper to develop an application for android, the question you might want to ask (depending on what you want to do) is what is the ROI of an Android application versus and IOS application.
And even then, depending on the type of application & the demographic your app will be targeting (not to mention usability, design, general app quality) the response will likely vary quite a bit too.
But globally yeah, it's cheaper and less a hassle to make an android app i'd say. ..then again, i have an allergy to apples, and this is an android forum after all
Click to expand...
Click to collapse
Hehe, I agree on that Robert.
ten chars!!!
You can also spend many months developing an iPhone app, only to have it rejected by Apple for no good reason. That's quite expensive.
It is, however, unescapable that there are a lot of iOS users who buy a lot of apps from the App Store, so the potential ROI is higher. There's also only a few platforms to develop for (although this is becoming increasingly less the case).
Would like for Android to have more focus though; it's getting there!
(The diminutive term "app" does irk me slightly - Apple have popularised it in relation to phones when they convinced everyone that the iPhone was the first phone to support third-party software. Guess it's stuck now though.)
then why are Android apps more expensive??
Android apps aren't more expensive. They have by far the largest proportion of free apps on any mobile platform and even those that do cost are comparatively cheap.
Android will probably be easier and cheaper to develop for..the only concern people have with Android is fragmentation...aka when developing you gotta decide which versions and up to develop for and choose the appropriate functions for the documentation. Of course in the end all the old devices will upgrade eventually and be compatible anyways..
My hope is though Apple lets 3rd party development tools back in...cause that way you can use Adobe AIR and make an App for both Android and iPhone at the same time....How I wish for cross platform app development...but Apple will fight it till the and cause if they don't they will loose one of their biggest advantages...
In my opinion Android is just now getting to the average joe especially in the United States. Older people are even trying the droid line of devices since there are so many to choose from now on all carriers (vs 1 iphone on AT&T forever just revised of course) So yeah, even people here in hicksville, MO USA are even trying it out go figure. If everyone hasn't heard of HTC or Android, they're definitely being introduced to it now through the Galaxy S series since it's on almost all carriers and has some snazzy media buzz.
With all these new cells and tablets coming out I give it a mere 2-3years and everyone will know our lil green droid dude globally, and use it on multiple devices around the house. Just my theory. I'm sure the Marketplace will grow 10/fold in that time, peace!
I guess there are a few things to keep in mind:
Politics:
1) Apple tries to regulate what is permitted to be installed on their phones. They don't provide any real guidelines, nor do they tell you in advance if your application will be accepted. You'll only discover after submitting your app that it isn't permitted. So they waste your time, and numerous high end projects have developed their application only to discover Apple blocks them because "they are duplicating functionality" *cough competing*. Yes, lots of money has been lost.
2) Apple is Non-Disclosure Agreement overload. Send an email to apple and it always says "this information is confidential". Basically, Apple's agreement is so bad (unless it's changed recently) that they can cancel the account/sue you any time they wish. That increases your risk further.
3) iPhone's can be jail-broken to install 3rd party apps, but many people wont. Even if the Google store wont accept your app, they can manually install it, or you can use another store... Without jailbreaking.
4) Many developers often complain of long delays getting their apps approved, and when removed from the store by Apple, they have to flood Apple with emails for reason's why. On android, you don't even need to use the App store, in fact, Android has the benefit of allowing paid apps to be sold in countries with export restrictions (because they can sell it via other means).
5) Piracy is possibly more rife on Android, however, Google are apparently implementing an API which allows apps to check if they were purchased for that phone, which should strongly reduce piracy once available (because it means that dodgy stores will need to actually crack the programs). Once this is implemented, hopefully it will stop the jackass spammers from selling pirated stuff.
Development Process:
1) iPhones use objective C, Android uses Dalvik. Dalvik is VERY similar to java, one simply needs to learn the differences. Objective C is also quite easy to learn though, but it probably takes more experience to do well (because c++ doesn't have the idea of selectors). If you try creating apps on the iPhones without using objective C originally though, your app might be removed. On android, frankly, Google doesn't give a damn provided, it works.
2) Big win for Android here, the Android SDK works on Linux,Windows AND OSX. It integrates with eclipse which already has a large user-base. Whereas, you need to buy a mac for code for the iPhone, and the SDK is OSX only.
3) That being said, you can make a cross-platform webapp that can be sold for both, but the user needs to be online.
4) Objective C is compiled code, whilst Java is bytecode. Bytecode can run as fast as compiled (with some initial overhead). Native sounds great, but if Apple ever does a processor change for their phones, it might be a world of hurt. If massively-multicore mobile processors are released, Android is probably better suited. That being said, by then, you'll probably need to fix some things in your app anyway because of API changes.
Actual sales:
1) Apparently in the past, you would have sold more in the Apple market. However, in the past, Android mobiles were actually quite rare because Android stunk. Froyo is probably the first Android OS that can compete against iOS effectively because it now supports JIT. There is also a much greater emphasis on Android these days in advertising, and I see more Android advertising than iPhone. Possibly inaccurate predictions suggest they will overtake the iPhone in 2012 too.
2) Sales figures don't represent profit though (so whilst iOS may generate more still, it's less than Apple claims). A google market account costs $25, whereas an Apple iPhone development account costs $99. Furthermore, you need Apple equipment to code for the Apple market (which can be significantly more expensive than PC's), and there is no estimates done to determine profits lost by being rejected from the Apple app store (there have been major projects which cost thousands to develop which have been rejected). So greater overheads on the Apple store, which means for cheap/quick apps, you are probably safer developing for Android (especially if you don't already own a mac).
My opinion:
For me, developing major apps is too high risk for iPhones. Although, if your app is approved, there are potentially bigger payoffs than Android. For small apps which don't have a predictable further, you may earn more on Android because of lower overheads. If you app is rejected for iPhone though for competing, you wasted weeks/months of your life, and need to use a 3rd party store (since only hacked phones can use them though, you dramatically decrease your sales instantly).
Anyway, my thoughts are that by the end of the year, everyone will know what Android is, and you may start to see manufacturers getting together to launch MAJOR campaigns to promote Android, especially since they now all have a common enemy (Apple basically took a cheapshot at other major manufacturers to justify their design flaw). Apple is only a small guy when it comes to manufacturing phones, and so it's as though they threw a few tiny pebbles at a team of football players to show off. Of course, some of those football players have already started retaliating, and it just depends on how annoyed they got.
Personally, I think iPhone would be great if they didn't do the "anti-competitive" thing they always do, but as it stands, I am now doing my Oracle/Sun SCJP, and hope to get into Android coding soon. If Apple starts acting less evil though, I will take another look in their direction, but they are mistreating the users they need the most, the developers. It's a pity, because Apple really has potential.
Source: I haven't sold any apps on either market yet, but I have mostly decided on developing for Android.
Developing new iPhone app looking for developer
I have a cool iPhone app idea it's a very simple game that I could like to create I am looking for a developer in the Los angeles area I am new here so please if your interested or can redirect me to the right person I would appreciate it thank you...email me with any info
I'm just getting started with CM7 and the Nook Color, but I have some general security concerns that perhaps you could help me with?
1. Viruses. I understand that these are real in Android. I've temporarily disabled non-Market apps, but I believe viruses and/or spyware have shown up in Market Apps too. Are there decent AntiVirus apps and what do you recommend?
2. Firewall. What services are open by default? Are there good software firewalls available?
3. Adware. Is it always clear which Market apps are ad-supported? Have apps crossed the line into malicious or near-malicious spyware? (Taking over browsers, redirecting home pages or searches, infecting other apps, etc.)
4. Apparently Google does not require password-confirmation for Market purchases, and no real solution exists, since available apps complicate things and don't address the root issue. Do they have any plans to change that?
5. Where are application and web site passwords, WiFi keys, and the like stored, and are they encrypted?
6. Is there a multi-user / multi-profile facility to allow different users to log in to different desktops and/or applications? (Or is that best accomplished with dual booting.)
7. What major applications are known to "phone home" or otherwise divulge more information than might be expected? I was quite surprised that CM7 itself phones home to CyanogenMod by default, and even with that turned off the ROM Manager still reports usage statistics to Google?
8. Is anyone independently reviewing CyanogenMod itself for privacy and security implications? Right now many of us are relying on a hodgepodge of hacker contributions and the good will of those creating them. I'm sure that anything malicious would eventually come to light, but is anyone proactively checking out the release CM7 distribution, the GApps distribution, and the various installers and packagers? Right now the only verifiable "web of trust" that seems to exist is the good intentions of every contributor, and the general availability of the source code (which should make the review possible, if not particularly easy!).
9. Are there any "best practices" as a user? For example, I've set up a new GMail ID for use with the NC, and haven't yet linked any credit card or payment data. Meanwhile, for the B&N side I've had to submit a credit card number to get access to their market (even to get their "Free" offerings).
10. Any implications for configuring e-mail and/or contacts, etc.? Mass remailing trojans certainly exist on the Windows side.
11. Do the application specific permission settings compare favorably to those of the BlackBerry, and are they easily adjustable after you've already granted permissions to an app?
12. Is there any concept of sandboxing a new app to prevent it from possibly adversely affecting other applications or files?
13. Is there a best practice for how to manage files on both the eMMC and SD card storage, particularly when booting between the two? Can one be locked out from the other?
Okay, that's a baker's dozen. I'll stop now.
Thanks much for any input.
Really? Nobody has an opinion to share on this?
rooting /cm7 / and the purpose behind it may just not be for you. I don't think your going to get an answer your looking for. Also not trying to be rude, but you pretty much wrote a book in your first post. Just ask a question dude.
Thanks for the response, but I asked roughly 13 questions -- would you prefer I "just asked a question" by starting 13 different threads? I certainly wouldn't.
And your first sentence makes it sound as if there's no one here who gives a damn about their own data and that everyone views the Nook Color as a toy -- and I seriously doubt that.
xdabr said:
I'm just getting started with CM7 and the Nook Color, but I have some general security concerns that perhaps you could help me with?
1. Viruses. I understand that these are real in Android. I've temporarily disabled non-Market apps, but I believe viruses and/or spyware have shown up in Market Apps too. Are there decent AntiVirus apps and what do you recommend?
2. Firewall. What services are open by default? Are there good software firewalls available?
3. Adware. Is it always clear which Market apps are ad-supported? Have apps crossed the line into malicious or near-malicious spyware? (Taking over browsers, redirecting home pages or searches, infecting other apps, etc.)
4. Apparently Google does not require password-confirmation for Market purchases, and no real solution exists, since available apps complicate things and don't address the root issue. Do they have any plans to change that?
5. Where are application and web site passwords, WiFi keys, and the like stored, and are they encrypted?
6. Is there a multi-user / multi-profile facility to allow different users to log in to different desktops and/or applications? (Or is that best accomplished with dual booting.)
7. What major applications are known to "phone home" or otherwise divulge more information than might be expected? I was quite surprised that CM7 itself phones home to CyanogenMod by default, and even with that turned off the ROM Manager still reports usage statistics to Google?
8. Is anyone independently reviewing CyanogenMod itself for privacy and security implications? Right now many of us are relying on a hodgepodge of hacker contributions and the good will of those creating them. I'm sure that anything malicious would eventually come to light, but is anyone proactively checking out the release CM7 distribution, the GApps distribution, and the various installers and packagers? Right now the only verifiable "web of trust" that seems to exist is the good intentions of every contributor, and the general availability of the source code (which should make the review possible, if not particularly easy!).
9. Are there any "best practices" as a user? For example, I've set up a new GMail ID for use with the NC, and haven't yet linked any credit card or payment data. Meanwhile, for the B&N side I've had to submit a credit card number to get access to their market (even to get their "Free" offerings).
10. Any implications for configuring e-mail and/or contacts, etc.? Mass remailing trojans certainly exist on the Windows side.
11. Do the application specific permission settings compare favorably to those of the BlackBerry, and are they easily adjustable after you've already granted permissions to an app?
12. Is there any concept of sandboxing a new app to prevent it from possibly adversely affecting other applications or files?
13. Is there a best practice for how to manage files on both the eMMC and SD card storage, particularly when booting between the two? Can one be locked out from the other?
Okay, that's a baker's dozen. I'll stop now.
Thanks much for any input.
Click to expand...
Click to collapse
I have to admit, you come off as rather paranoid, and i am not sure why you are so.
Yes, there have been a couple of problem apps recently, but Google took care of them, and i would not worry. The best security you can have, is looking at what you are installing. The application cannot hide what permissions it needs, so if you have something asking for way more than you think it should need, take that as your first red flag.
Currently, Virus Scans on Android are a joke, and simply unneeded. Don't even waste you time. Firewalls are just about the same, and again, not worth the effort. One thing to keep in mind, that this is a linux system, and is not as prone to the Windows based attacks that you are used to. Things like email spam bots and such are not a problem.
As for Cyannogen - no code is added to the repository without being peer reviewed; and every code submission is available in public records. Frankly, they did not make it to CM7 by stealing people's data, nor is it simply a hodge podge of devs.
Frankly, I think right now more research is in order for ya. Most of what you ask is already discussed in many places, or is never discussed, because it simply isn't a worry...
Thank you, Divine_Madcat, for the advice and explanation. By hodgepodge I was more referring to the multiple installer methods and packages that newbies like me are relying upon to get everything installed easily. There are a lot of them, from a lot of nice people, from preconfigured SD card images to installation methods with modified boot loaders to interface and performance hacks. Even if Cyanogen itself is well maintained it would be pretty easy for someone to include a little trojan in one of those third-party "distributions".
It's not exactly paranoia, I've just seen this happen so often. Trojan horses are certainly not limited to Windows. Worms and other compromises have affected thousands of Unix and Linux machines in the past. Web sites and PHP and Perl scripts and databases and web frameworks regularly see vulnerabilities discovered and/or exploited. So since this device will be used in part by children with access to my credit card, I wanted to know what we're dealing with.
No, I was not familiar with Cyanogen's review practice (which is one reason I asked), so thanks for that reassurance! I will try to learn more as I go.
I do apologize for the length of the OP though -- I was trying to brainstorm and get everything down in one place that related to possible security concerns. It's not as if I'm worried sick about every little point.
One of the apps I install on all my installs is 'Lookout'. This app scans all my programs I install and update and I have heard very good reviews of it.
I did see that Eric Lundcrest did an article today:
http://web.eweek.com/t?r=2&c=38783&l=64&ctl=11B38843F5D4C728CF30E9F23F9E91BB51617&
You can check them out. I haven't tried them all myself and I noticed that he didn't include the app that I recommended above (and I use it on both my Nook and my HTC EVO)
You Should Also be Aware..
that one of the joys of Android (and of course Unix/Linux) is that everything is "sandboxed" unlike Windoze - there are not many apps that interfere with others - that's why it's so easy to install and uninstall from Android. Compare the uninstalling of even a large Android app with that of uninstalling from Windows.
I would not worry about interfering apps
Thanks, doc. I'm moderately familiar with the Unix security model, but not so much with Android. Is sandboxing really accurate? In Linux processes run with particular user rights, much as in Windows but more flexible -- that is, it's just much more common to have different daemons running as different users. Still, I don't think they're really isolated from one another as they might be with a "chroot jails" kind of function...
I don't think electronics are for you, I suggest books and a cabin in the woods.
No virus really exist yet, a few flaws in the code have been found but they are patched quick.
No real firewall, doesn't work quit that way with android.
Yes, it will say in the permissions of the app in the market.
You sign into the market when you first use it, making sure your devise has a lockscreen PW is how you keep it safe.
/data
no
Some apps phone home, check permissions before you install.
All CM code can be seen in the github, you can compile it yourself if you wish.
Use smart internet credit card practices such as only attaching a low limit card to accounts etc.
If the google email server was hacked maybe but all that stuff is stored encrypted on googles end.
Permissions need to be approved of by you if they change.
Android sandboxes all apps.
Dono, I have CM7 on internal and books etc stored on the SD card.
Nanan00, your actual answers were great, but "I don't think electronics are for you, I suggest books and a cabin in the woods." and the similar dismissive post above are exactly the kind of BS condescension that gives some open source communities a bad name. Stop it. Little by little it devalues the entire community and its projects.
Thanks for the substance of your response.
Truthfully... My parents practice pretty much all of the stuff you have said, they're very careful with credit cards and anything that could be used as personal information.
And yet... Someone got ahold of their credit card numbers and bought something for almost 3k last year...
I have no virus software or even firewall software on this computer, it has not received a virus in over 5 years (I know... it needs an upgrade) and I'm running Windows XP SP2.
If you're prone to viruses then go ahead and install some antivirus software. If you're scared about your kids + your credit card + the nook, then have them make all transactions on the computer.
The reason no one is taking this seriously is because Android is to new for there really to be anything worthwhile on the market. People are just now learning how to develop and code for it. So there aren't a bajillion(give or take one or two) viruses or trojans running around the google market.
On top of that, so long as your legally buying your apps from the google market, you have even less to worry about. As google has shown in the past that they'll go ahead and delete it the second they find it.
As far as permissions go, don't get to hung up on it. Everybody trust Pandora and yet it requires more permissions then some of googles own apps. =\
Thank you, Gin1212. I don't use an AntiVirus on my own Windows machines either -- it's more trouble than it's worth when you know what you're doing. (On Android I don't know what I'm doing, yet.)
And yeah, I already made sure to use a disposable credit card number ("ShopSafe") with a limit when setting up the Nook for the young'un. Google Market, thankfully, doesn't require a credit card unless you buy something, so I'll be checking out the free apps for a while (so that's part of why I asked about adware/spyware).
I was approaching the thing as I would any new (to me) full fledged operating system and computer, fully aware it's not the "safe" and dictatorially controlled little world of iOS or, to some extent, BlackBerry OS.
So thanks for the real world advice!
xdabr said:
Nanan00, your actual answers were great, but "I don't think electronics are for you, I suggest books and a cabin in the woods." and the similar dismissive post above are exactly the kind of BS condescension that gives some open source communities a bad name. Stop it. Little by little it devalues the entire community and its projects.
Thanks for the substance of your response.
Click to expand...
Click to collapse
Suffice it to say that Android's and Microsoft's, and even Linux's app model is vastly different. Google does not just act as a repository, as in Linux. From my understanding, Google is rather guarded about it's app market and if anything heretofor is found, the app is yanked from the market immediately.
I agree that website security is more an issue that needs to be looked at, but the lion's share of websites that have virii and adware are aimed at infecting windows machines, but your concerns are noted.
As to the intent of the Devs here, I think you need to understand that these roms, mods and apps are their children, and their passion of the moment. No one goes through all the crap they do just to foment adware. This is their meat and drink and trust me, if there were a dev whose morality came into question, they would police themselves and it would be all here for us to read. There are no secrets here. These aren't script kiddies looking to wreak havoc.
I agree that security is a good thing, but the twin natures of Android are openness and isolation. Each app, at least from my understanding is an island unto itself with rare exception. So I think that while your concerns in themselves are noble, they are unwarranted, and at some points even seem absurd. No offense intended here.
We aren't just drinking the kool-aid here, everyone knows the risks of adopting an unknown and untested ROM, everyone takes the responsibility to themselves when they violate their warranty in search of a better tablet experience. The average person who roots their nook is not your average idiot windows user. We are here because we want more and better than our legacy alientation by microsoft and those who can't think outside of their security model.
Well, there is my Android manifesto. Sorry for rambling.
migrax
No, I appreciate the manifesto -- thanks. Again, I tried to brainstorm and throw the kitchen sink into the original post so as to get everything down in one place. I was hoping it could serve as a general security discussion thread. Not everything there is a huge concern of mine, and sorry if it made things seem absurd.
I appreciate your points about the intentions of the developers and the operation of Google's market (although of course a big selling point is we are NOT limited to that market... conversely, I suppose anything I chose off-market would be something I had by definition come to trust independently).
xdabr said:
Nanan00... "I don't think electronics are for you, I suggest books and a cabin in the woods." and the similar dismissive post above are exactly the kind of BS condescension that gives some open source communities a bad name. Stop it. Little by little it devalues the entire community and its projects.
.
Click to expand...
Click to collapse
I think your overreacting a wee bit too much. I can't speak for Nanan00 but the first sentence of his post feels like a joke. He took the time to write out the answers of OP's question...
Also since you were referring to my post at the top..... I was just being candid with OP.
I read his post, I could see that he was a bit paranoid (IMO) and told him my honest opinion. Which is: Hacking your nook, or any device for that matter, may not be for you. The reasons being that when you hack your device, you inevitably increase its chances of being exposed (even if the increase is small, its there.) I don't feel that I am being arrogant, and I didn't catch that drift from Nanan00. But I wanted to address this since you obviously feel strong that this type of behavior is "devaluing the entire community and its projects."
Anyways to the OP:
Sorry if my post came off rude. I should of taken the time to give you my explanation.
colbur87 said:
I think your overreacting a wee bit too much. I can't speak for Nanan00 but the first sentence of his post feels like a joke. He took the time to write out the answers of OP's question...
Also since you were referring to my post at the top..... I was just being candid with OP.
I read his post, I could see that he was a bit paranoid (IMO) and told him my honest opinion. Which is: Hacking your nook, or any device for that matter, may not be for you. The reasons being that when you hack your device, you inevitably increase its chances of being exposed (even if the increase is small, its there.) I don't feel that I am being arrogant, and I didn't catch that drift from Nanan00. But I wanted to address this since you obviously feel strong that this type of behavior is "devaluing the entire community and its projects."
Anyways to the OP:
Sorry if my post came off rude. I should of taken the time to give you my explanation.
Click to expand...
Click to collapse
Um, colbur87, "OP" and I are the same person.
Asking questions is one way we learn. As an Android newbie many of my questions would apply to any Android device, hacked/rooted or not. If they're not appropriate for this forum, or if no one here thinks they're valid or worth a response, that would be okay. But to say in effect "your concerns are stupid and you don't belong here" is not only insulting, but factually wrong. Just because some people are content to not consider security implications doesn't mean they're not real.
Blithe unquestioning acceptance and faith is more of an Apple iFanboy trait, I would have thought.
And much as with Linux as a whole, positioning "hacked" Android as something not amenable to ordinary consumers is counterproductive.
(By the way, I'm not an ordinary consumer.)
Anyway, I do appreciate the answers people have given.
Wasn't lookig at the names so my bad on the mix up.
Anyways if you still think im being rude even after my previous post then so be it.
im out
Sent from my Desire HD using XDA Premium App
Divine_Madcat said:
The application cannot hide what permissions it needs, so if you have something asking for way more than you think it should need, take that as your first red flag.
Click to expand...
Click to collapse
Actually, that isn't true. There are holes in Android Market, so if app makers really wanted to, they can hide certain permissions even if your app calls out that permission through androidmanifest, which is how the permission is given in the first place. It was shown that even big name developers had exploited this one time or another. Of course this has nothing to do with CM7. Even stock Android phones are vulnerable to this. However, in general, if you download a popular app, you should be able to trust the permissions listed. Unless your the first person to download an app, you'll usually hear back from initial users if there's something funky going on.
Hi everyone!
Given the announcement of WP8, today, I noticed that there was not a whole lot of information of whether or not C# would receive a lot of support for developers.
I have started learning C# as my first programming language, but I am wondering if I should jump ship and learn C++ instead to write apps for W8 and WP8.
Should I? I know C++ has been popular for a while, but can anybody guess as whether MSFT is pushing developers to the C++ route and away from C#?
Thank You!
CodyNunes said:
Hi everyone!
Given the announcement of WP8, today, I noticed that there was not a whole lot of information of whether or not C# would receive a lot of support for developers.
I have started learning C# as my first programming language, but I am wondering if I should jump ship and learn C++ instead to write apps for W8 and WP8.
Should I? I know C++ has been popular for a while, but can anybody guess as whether MSFT is pushing developers to the C++ route and away from C#?
Thank You!
Click to expand...
Click to collapse
C# is definetely not being pushed away. C++ requires a lot more work than C#. You should not stop learning C#, but maybe consider learning C++ after you learn C#.
I absolutely agree with the comment above. C++, however, can let you produce far better optimized apps at the cost of a longer coding time.
Sent from my GT-I9100 using XDA
Microsoft said during the Event that they encourage the use of XAML/C#, VB.Net for regular Applications. For Games they encourage People to go with C++ and DirectX. There are currently community projects aiming for kind of a follow up to the XNA framework allowing people to write Games for Windows 8 Metro using C# and DirectX which due to the shared APIs should enable the same for WP8 but I don't know how far along they currently are.
For highly resource intensive computations you might want to leverage the C++ performance benefits but overall C# is fast enough for most use cases and development is speedier and A LOT less prone to errors.
Thank you, everyone! If any more information comes up about the limitations of c# or c++, I would appreciate any ideas opinions or input!
JavaScript also joined the game.
I like C#. Performance doesn't sound like good excuse to abandon it for c++ as hardware is becoming faster all the time.
Sent from my GT-I9100T using XDA
eyal-f said:
JavaScript also joined the game.
I like C#. Performance doesn't sound like good excuse to abandon it for c++ as hardware is becoming faster all the time.
Sent from my GT-I9100T using XDA
Click to expand...
Click to collapse
Well, the discussion about the performance between C# and C++ is pretty old. Just bing it and you'll find tons of pages. In my experience you can get very fast algorithms in both languages when you plan your app right. I'd suggest C# to learn as it is "safer" to start with. You don't have to care about garbage collection and memory management for instance. Also, you can easily reuse code in other apps. If you invest time in learning C# you will get more performant apps than by learning only a bit of C# and a bit of C++. And you can even write good games in C#. You can really get pretty darn high performant apps in C# if you optimize them right.
ChrisKringel said:
You can really get pretty darn high performant apps in C# if you optimize them right.
Click to expand...
Click to collapse
You've read my mind. Personally, I would also not bother whit c++ when you don't necessarily need to.
And game devs should keep in mind that using xna (c#) is the only possible way to get their games also on the xbox (And hopefully xna will get an updated version for WP8 with custom shader support and all that stuff)
XNA seems to be in pretty much the same spot as Silverlight. Microsoft is still supporting it but there is no news at all on future development. It seems development of XNA was stopped. Currently people are trying to develop replacements.
Most Apps will wok just fine using C# or JavaScript. For some things you will need to use highly optimized Algorithms. Had a discussion once with a Dev who did realtime Audio analysis on several platforms using fast fourier transformations and after all efforts on the Forum to optimize the C# code the C++ version was still twice as fast. That is simply due to some of the code security features. When accessing an array in C# the language will always do an out of bounds check to perhaps raise an Exception while C++ simply reads whatever is at the pointer position even if it is in memory behind the array as long as the memory is allocated.
By not doing these checks alone it reduces computation and given the limited processing power sometimes this is necessary to get things working decently on a mobile device.
Still there also were several benchmarks were C# code was able to outperform the C++ implementation (especially object heavy code).
So if you absolutely must have the highest possible performance C++ is the way to go. It's similar if you want to port your code accross platforms as you can do C++ for Android and iOS. In all other cases C# would be preferable as as it was said before it is more productive and less error prone.
You can use unsafe code in c# as well
chabun said:
You can use unsafe code in c# as well
Click to expand...
Click to collapse
To my knowledge not on Windows Phone. It would get rejected from the Marketplace. This might change with WP8 but we don't know yet.
Unsafe code also complicates things a lot because as soon as you directly manipulate memory you have to take care of it like in C++ because the Garbage Collector is out of the picture.
Most often it would be the easiest route to develop the performance critical code using C++ and then use that library from C#. This at least should be supported by WP8 although I can't remember where it was said exactly.
chabun said:
You can use unsafe code in c# as well
Click to expand...
Click to collapse
It's a lot better to simply use a C# UI to wrap C++ code. However, it's easier to just use C++ in that case
Sent from my GT-I9100 using Tapatalk 2
I bet every software development company, as well as freelance programmer, wants to keep up with the most emerging and trendy programming tools. The software programming and developing community is growing at a faster rate than ever before. Various new programming languages which are rising up are suitable for different groups of developers (beginners, intermediate, and experts) as well as for divergent use cases (mobile applications, game development, web application, distributed system, etc).
The question is, what are the best programming languages to adapt to your business in 2019?
Actually, every project requires different codebase and programming language. So it’s crucial for a software development company to always catch up with new trends and apply a wide range of the latest technologies in order to respond effectively to customers’ requirements.
With the sharing below, I aim to give you a good look at the best programming languages that will dominate IT market in 2019. And from there, figuring out which ones are fit for your business model or can be used in your software projects.
#1. Java
Being born over 20 years ago, after decades of growing and improving, now Java may be the most popular and prolong programming language worldwide. Java is mostly used for building enterprise-scale web applications because of its extreme stability. Many big enterprises have adopted it to their back-end systems.
Furthermore, Java is also broadly used in Android App Development. Owing to the fact that there are billions of Android users nowadays, an Android version is essential for any mobile app. Obviously, this results in the never-out-of-date importance of such a clever and convenient programming language like Java. For the most lively example, Google has created a brilliant Java-based Android development framework – Android Studio.
According to a survey by StackOverflow, Java ranked as the most favored programming language for six years in a row.
#2. JavaScript
Accompanied with Java, JavaScript is the “service-side” or “frontend” programming language. JavaScript is also a very popular language and widely applied to develop interactive front-end web applications and design animating websites. For instance, when you click on a button which opens up a popup, the hidden logic is implemented via JavaScript.
The best turn up of this language (also the main reason why I believe it will continue to grow) is its flexibility. You can use it to manipulate HTML and CSS, moreover, it is supported by every browser, which provides a great experience across browsers and makes it the ideal language for clients to use.
These days, a lot of IT companies, particularly startups, are using NodeJS, React, React Native which are JavaScript-based web development frameworks. JavaScript is everywhere and will likely remain one of the most popular programming languages in at least the next few years.
#3. Golang
Golang, also known as Go, is a new and easy-maintained programming language built by Google. Go perform excellent support in multithreading and so, it is being adopted by many enterprises that rely heavily on distributed systems. By the way, Golang is not really a friendly language for all system sizes, it’s more suitable for large-scale ones.
Between its ability of high-performance and multithreading, I have to mention again, Go is actually designed and developed by Google believe it or not, which is a really cool fact about the language. Golang was referenced as the “programming language of the year” in a ZDNet article written in 2017. And as everyone knows how big the “Google brand” is in the IT market, I think you can guess the continuously fast growing speed of this sub-brand programming language.
#4. C/C++
Saying in a metaphorical way, C/C++ is the bread and butter of programming. Almost every low-level system such as file systems, operating systems, etc. are written in C/C++.
Besides, C++ is also often used by most programmers due to the fact that it is extremely fast and stable. It provides something called STL – Standard Template Library. STL is a pool of ready-to-use libraries for a wide range of data structures, algorithms and arithmetic operations. This library support and speed up the language, make it a trustful choice in the high-frequency trading community as well.
#5. Swift
Swift is the primary programming language that is used to build iOS applications. It’s was first invented in 2014 and started to grow well in recent years, despite the short time it has to catch up with enormous competitors. Can’t deny the fact that now iOS-based devices are the most popular tech devices in the world. Apple iPhone, for instance, has made up a considerable market share and is always giving a tough competition to Android.
Not only is Swift speedy, but it’s also efficient. According to developers who are using the language, it’s quite easy to read and write compares to other mobile languages. Overall, it’s probably the best available language for mobile development. So there’s no doubt for a pretty bright future of Swift, and maybe much more.
#6. Python
Python is becoming more and more popular. It is known as a “general purpose” language. One of the great things about Python is, you don’t have to be a CS expert to code in it. It’s a perfect choice for beginners. You can pick Python for building almost anything. For examples:
Game Development
IOT
Machine Learning
Software Development
Web Development
Because of the flexibility and convenience of Python, I’m not surprised that this language is adopted by many IT businesses. It works great for almost any industry. In fact, Python was ranked as the most “wanted” language of 2018 according to the results of StackOverflow developer survey. If you don’t want to work solely with Python in the long run, it’s still a worth learning fundamental language. Personally, I don’t just believe that Python is one of the best programming languages in 2019, but the language of the whole near future.
Summary
JavaScript and Python are hot in the startup world. Most of them use NodeJS (JavaScript), Django (Python), and Flask (Python) as their backend frameworks. Python and JavaScript are kinda easy to learn, therefore they’re considered as the best programming languages to learn for beginners.
Java is famous in corporate companies. Many organizations use Spring (Java) as their web backend framework.
C/C++ and Golang are the top choices for developing low-latency and scalable systems.
Thanks? 0.o
Soo Java is still a trending programming language...Weird
I believe its Python
To the people who have been here all along:
I grew up in the 80s immersed in technology; having intrinsic skill with computers (from building PCs to application and web development), I naturally had a successful career in IT. (My passion has always been live, data-driven apps, and I have broad experience with SQL in the back and ASP.NET/JS/etc. in the front.) Unfortunately, I was unwell, self-destructed (got caught up in what amounted to an elaborate theft scheme), and went to prison.
Now that I'm releasing, I'm trying to find educational resources that will catch me up to speed in the industry so that I can restart a career in development for mobile devices. But web searches return what appears to me mostly junk. I believe that you folks will be able to point me in the right direction.
As a lifelong coder, I don't need a basic introductory class; that being said, my familiarity with specific environments only goes so far. Which programming languages do I need to learn, and can anyone refer me to particular resources that would best take advantage of my pre-existing abilities so that I can develop apps for Android, iOS, and alternatives?
Perhaps more importantly, I obviously need a leg up in AI and metaverse technologies. Especially because these are evolving fields, I'm not sure whether I need instruction in a particular application so much as a general tour -- but looking for something like that runs the risk of returning terrible wastes of time for someone in my position. I'm thinking I need a little of both, but choosing the platforms in which to invest my attention is going to require more than a web search.
Ideally, in addition to public-domain type materials, I'd like to gather a short list of remote-learning programs, possibly instructor-led and therefore having a structured schedule, but whatever works. I care less about obtaining a valued certificate than I do about getting the right kind of training for me so that I can actually pick up the knowledge necessary to inform my next steps.
Any pointers would be immeasurably appreciated! Thank you for reading.
You will need Java - Kotlin for Android , Objective C for iOS. And good understanding of how modern IDEs and software work.
https://www.freecodecamp.org/ is the best resource you can have for understanding current software scenarios.
AI is old. We always had AI
Metaverse is old. We always had Metaverse.
Modern tech companies are also the world's biggest marketing companies. Both fields are hyped by these companies.
They are just fancy names for Maths and Forum Avatars.