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 have just finished learning application development on android platform, as In matter of language it was easier to understand. However the convention drove me crazy yet simple enough to understand. Now the dillema is I am about to jump in iOS development. Language part wont be hard to understand but I am bit worried about design pattern or use of Xcode.
What challenges I might face which differentiate these two develoment enviroment? And which one is easier to deal with and more productive?
See the "Java" section in this post. Ease and productivity are in the eye of the beholder. Many find Objective C to be incredibly natural and beautiful. Others find it bizarre and frustrating. If you're willing to embrace the iOS way of doing things, you can pick it up very fast. If you fight it and try to keep coding in Java ways (or C way, or C++ ways), then it will be very challenging. The trick is to really work through the tutorials and not just try to figure out "how do I do X that I'm used to doing?" Often the answer is "you don't do X. X happens automatically when you do Y." But the place to start is working through some tutorials.
The Apple documentation is mostly excellent. You should spend time reading through the Programming Guides. Don't just jump to the References. You'll be very confused.
Now i can give you some facts about both that i find really important for clearing your dilemna :
1. Ios development is really costly as it requires a mac as well a hardware device such as iphone to stimulate which costs much more than other phones that you might already know by yourself
2.Android developer have to pay 25$ to become android developer while for Ios it take 100$ per year and your subscription dies after that so yeah again Ios costs much more.
3.Now, swift is used in case of Objective C which is incredibly easy,efficient and I ensure you will fall in love with it(according to me its easier than java itself).
4.Lastly,I myself have worked with the android studio and believe me, Xcode is now easier than android studio(with bugs fixed).
So,the zest is Ios development is costly but its worth learning it and now apple shifting to the new Swift, its super easy now and for the layout stuff don't worry, with time you will get a hang for it
Android and iOS operating system are best at its place. Both are doing good, but it is obvious that one OS can have any feature as pro while other can have it as a cons.
Well, this is my personal opinion that i will choose Android over iPhone for below reasons.
Obviously the first is Price. You can afford a pretty good Android Smartphone with awesome hardware configuration in same or cheap than the price of the iPhone.
Customization: You can customize the way you want like install other OS like Cyanogen and a lot custom Android OS is available over internet (Flexible OS). iPhone is limited to customization. Though jailbreak option is available, but who wants to knowingly spoil that handsome price iPhone. Tons of customized screen launcher available in Android.
Battery: Early battery drain is always the problem in iPhone. Well, battery saving gets better in Android with the Doze feature introduced in Marshmallow. And the good part is, most Android phone’s battery are replaceable and it is pretty easy stuff as compare to iPhone.
Multi-tasking support with multi-window feature and flexible widget in Android.
More free apps as compare to iOS
Custom ROMs. Android gives full control (root) over your phone as compare to iPhone
Memory: In iPhone memory comes at huge cost and no expandable memory as compare to Android. Android supports expandable memory and it does not get that pricey with the increase in the in-built memory
Developer: For those who are willing to develop Application in Android can get the huge community support and can build apps on the affordable hardware rather than iOS. iOS hardware comes at handsome cost as compare the Android.
Well, above are the few points that makes me feel Android is better than iPhone. And no offense to the iPhone users. iPhone is best at its place.
Ref : enter link description here
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 7 years ago.
Improve this question
Note:
The VM mentioned in here is not like in VMWare or VirtualBox, it is more like Java Virtual Machine (JVM), (as well as Python and Ruby).
That is, the fact that objective c is an interpreted language, should make it easier.
For a long time I wondered if the following idea worth a nickel or just a waste of time and energy. I am willing to start a project which will provide a kind of a VM for all iPxxx apps - so developed once for iPxxx can run on a Macbook, iMac, Linux, Android and windows (desktop and mobile). You get the idea, right?
I want to do to the current iPhone SDK, the same as what Mono did to Microsoft .Net and perhaps a more complete set of implementation.
I tend to believe that if overnight all apps on appstore become available on the android market as well that would be a mini revolution. Think about running iPad apps on every tablet that will come out to the market in the future.
Wouldn't it be fantastic to all the developers, which from now on, can write once and sell everywhere?
The main questions which I ask myself repeatedly is: "Is This Legal?" - I mean, say I have done this, would apple's lawyers will start sending me all kinds of nasty emails?
I am willing to hear your opinion about this idea as well as if some of you willing and able to join forces and start this open source project.
There is not much benefit in porting from phone to desktop. While that is essentially a freebie once you write the VM, it is not compelling in itself. The touch interface does not always work well with a mouse.
The reason to write it would be to add 100k free apps to android. I say free because there would be no reason to buy them, since you could just copy them. The VM would be equivalent to a jailbroken phone in terms of piracy.
Legally, I think you would have no better standing the psystar did. If you are making a pure VM, then you are installing Apple OS on unlicensed hardware. I am no lawyer, but I cannot imagine they would embrace the project. You could also try to be like Wine, implementing the entire OS from scratch.
As far as the actual feasibility of running apps in a VM on Android, I would have low expectations. Apple hardware is better than average, while Android hardware covers a wide range. Many apps would run poorly or not at all on a lot of the android hardware out there, even if there was no overhead for the VM. And there will be overhead for the VM.
I think this task is not a trivial one. Implementing a VM (Java?, Inventing your own language?) is not an easy task. Every VM implementation has tons of hours of design and development carried out by many skilled engineers. Even if you attach to standards (i.e. you could maybe implement a Python interpreter) instead of reinventing the wheel, this is sure a lot of work (at least for a one-person-project). Moreover if you try to implement a new approach (language?) you need to take programmers into account. How would you make your language/platform popular enough to let programmers create good applications?
On the other side (leaving legal issues out, that there surely be many), instead of thinking big, haven't you wondered how would you distribute your VM installer? I do not know iPhone very well, but as far as I know you can only install applications through iPhone Market. If your VM simply does not make fun to Apple it would be turned down with the ease of a click. No matter how many hours have you invested in your project. And no matter what you fight, if Apple doesn't like it, game over. Look at Flash for instance. They are just pushing to get what you are trying to do (or just already did) with Flash 11. What happened here? Apple doesn't want to let others take a slice of control of their platform. Game over Adobe on iPxxx. Do you think that what a big Corporation with gazillions of users, money and lawyers like Adobe couldn't do, would be feasible for a bunch of passionate programers employing a few hours of their spare time and little or no financial/legal support?
Does anyone know of a cheap Android or programmable device that has wifi?
I need it for a project for a company that needs a Wi-Fi handheld device for the shop floor.
I'm not too fussed about the language the device uses though I'm not really interested in the iTouch as there's no intention to release the app in the app store and I don`t really want to jail break everybody's iTouch.
Ideally it would be small, iTouch size for example and relatively cheap $100 or less. Nothing fancy, just ability to write a simple UI and have Wi-Fi. Voice is not needed.
Not too fussed about touch or qwerty keyboard either.
How cheap is cheap? On the weekend I searched eBay for "android slate" and found a bunch at US $99. I bought one immediately. It may not have the world's fastest CPU or a heap o' RAM, but at that price, how can I complain?
Like you, I want to develop apps for use in an industrial situation. I'll list voice as a feature if I use handphones, but don't really need it.
Would you please publish your final purchase decision here and I will likewise if I find a "better" option.
Bear in mind that it's not all about the cheapness of the device and consider the development effort.
Android has at least 2 good things going for it.
1) Generally programmed in Java (although you can use C & C++ if you jump through a few hoops). I may be wrong but it seems that new grads these days only know java (no offence intended to anyone reading this) and even "old hands" with C++ can quickly pick it up.
2) Android was designed from the start for developers and has an excellent development environment and good tools.
I bought a bunch of Android books and really liked Unlocking Android: A Developer's Guide, but you might want to check Amazon for readers 5 star votes.
And I have just noticed Android Wireless Application Development which I will have to buy; I think that you might benefit from it too.
Oh, and if you want to outsource any development at competitive rates ... ;-)
There were some cheap Android devices at http://dealextreme.com
I'm currently developing a small non-commercial game for Android which is based on OpenGL ES. Except for some minor issues (slow as crap emulator being the biggest) I've really enjoyed it so far and would love to continue developing for it.
The question is: What are your thoughts on the future of Android as an environemnt for the game market? I read an article somewhere that said that the IPhone is the preferred platform for games, but since I don't own a Mac and won't bother with some complicated work around to get it to work on Windows I'm currently not interested in it.
So, what do you think? Is it worth spending alot of time (and potentially money) on a larger Android game project?
Short answer: it's too early to tell. Technically this platform is neither better nor worse for games developer than iPhone. Both have some support for 3d graphics, both have good support for multimedia - just the language differs ObjectiveC or Java.
The problem is not in the technical capabilities though, but in the popularity of the platform and purely business decision if Android is a good gaming platform. iPhone certainly is and many people are making money on it already. Will Android be as popular and will people be willing to buy the game for some money is a good question.
There is some difference Android and iPhone users and developers. Android is more open platform and more software is free (or even open source). For iPhone most apps cost 1$.
So the expectations in the audience is different. Android users expect more apps to be free and will (most likely) pay only when software you give them is really worth spending any money at all. iPhone users are willing to pay this $1 even to try an app out, after all they bought Apple product that was expensive to begin with.
Will that trend continue? Or will the audience types converge as more paid apps appear on Android market is an open question.
Finally -- there will be some millions of users of the Android platform eventually. So if you develop a kick ass game it will have its audience anyway. And if Android does not become a platform for games - that may even be beneficial for you, because you'll have no competition.
In my opinion it is worth it.
As #Marcin said, Android is more of a open platform then iPhone. And it's easier for developers to start with developing applications and putting them on the market.
But it means the market is populated with a lot of crap applications. And then, there are really shiny jewels too. They get good scores, are blogged/twitted about and are popular.
So, in my opinion, if you got an idea for a good game, go for it. If you put it on the market though, consider putting (at least a 'lite' version) in the free area (people in some countries are unable to even access the paid applications market).
the below part is completly my own opinion and you can simply skip it
There are some 'cool' games on mobile platforms that I love to play. As for me, there are few important things to watch for when developing such a game, that aren't this important in more 'traditional' gaming, on a console or PC:
it should be easy(fast!) to start and stop. If I play it at a bus, it could be just 1 stop. If it starts right away and then doesn't take 5 minutes to stop it, it's a +
one more thing about rapid start/stop. If I quit the game, then come back, give me a chance to continue where I stopped. No need to ask if I wanna save/load last game. Make it default, I can always start a new game if I want, can I?
controls - even that accelerometer-using games are fun at times, try to play it in a crowded place. like a bus. Touchscreen elements should be large enough so even the thick-fingers can use it. If they are - it's a +
for long time I was trying to realise why playing Bejeweled, or Puzzle Quest, was fun and enjoying, while many of their clones were simply irrytating. The diffrence was a tiny piece of user interface - in Bejeweled the pieces you got are both diffrent colors and shapes. They are much easier to "operate" (in a Bejeweled way) then, say, screen full of diffrent color triangles. If you make a game like this, make the diffrent pieces differ in many ways, not just one (diffrent shapes with same colors would suck even more; red triangles, yellow circles, blue squares and black skulls is a way to go - in my opinion)
it's a mobile device, connected to either WIFI or 3G network, you can use the internet to at least show/save highscores. But - remember - sometimes there's no network, we're in a diffrent country with roaming turned off or on the bottom of the ocean. Make the game work even there
Thanks for the replies!
I myself believe that the marketplace will gain momentum once there are more Android phones on the market, though my biggest fear is that it'll end up like Xbox Live Indie Games were 90% of the games are of below avarage quality, which of course affects it's reputation in the gamer community.
One thing I don't understand is why there isn't some kind of pre-approval before letting the application or game onto the market place. I understand that they want the people not the company to decide what should be allowed to be uploaded, but then they could let the users be the reviewers so that there is atleast some quality checks before release.
The iPhone has the advantage of a huge market (approximately 10x the android one at the moment) and even better most of those users have already given apple their credit card so they are ready to buy. Getting android users to spend .99 is hard. Depending on the game, you can make decent money (50-100/day) off of ads. The first is likely to change with more android phones and more android carriers(Verizon would be huge for the US market)
Technically Android is a bit slower (Java versus Object C) but with the NDK you can get decent performance. The iPhone has better opengl support (1.1 and 2.0 on the GS) while android is more of a 1.0.
There is an interesting article about Android as a games platform on Gamasutra.
Developing Games for Android
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I am very interested in mobile application development. But which language or framework is more popular, useful and usable?
I know Java well. If you have any idea and/or experience, please help me to take my decision.
J2ME is much more popular than Android - many phones of many vendors (Nokia, Sony Ericson, Motorola, LG, Samsung and more) have it, and you can deploy application to them. The price is limited capabilities and no consolidated distribution channel (for the moment, Sun is talking about the Java Store).
On the other hand, Andriod has much more capabilities, its API is closer to the Java API, and it has more capabilities, but there is a limited number of phones. Also, you have the Android market as a distribution channel.
If you can describe what you have in mind, I can elaborate more.
Added Information
The J2ME market is quite large, but Android is rising fast - it is a true smartphone, a segment which has become more and more popular in the recent years. According to job trends, both are have roughly the same demand now:
I've dabbled in some J2ME programming, but right now I've written about 4 Android apps.
My observations:
The Android API is a lot of fun to use. J2ME is showing its age. For example, a JSON parser is built in. And you have access to SQLite. Android's SQLite access code is like an amalgam of lessons learnt from Ruby on Rails, REST and plain-old SQL.
In terms of deployment numbers, there are more J2ME apps than Android apps. However if you want to enter the smartphone market, Android is second in mindshare to iPhone (BlackBerry is reinventing itself, but its API is still looking like a J2ME++). Read this article.
The whole platform is open source. So learning it and mastering it is easy.
I think you're missing an important fact: Android is not only a platform, but also brings with it a fully fledged application framework which continues to grow and gets backing from some very big players (Open Handset Alliance). J2ME is just a stripped down version of the Java platform. That's a major difference.
Having worked with Android since over a year now, I can definitely say that is has grown into a very powerful system and decent tool support.
Only Android Can Catch the iPhone
There are something like 20 Android phones coming out before the end of the year.(*)
Networks like Verizon that ship only deliberately-crippled handsets will be hard-pressed to win sophisticated consumers. Their customers mostly make voice calls and text each other, to get fancy they might run Song ID or VZ Navigator.
I think the issue is: which phone owners actually d/l and use the apps? The walled-off Verizon customers, not so much. Right now, the action is in the iPhone, but I think Android might catch up.
(*) Here is just one.
I have to agree with others on shying away from J2ME development. I have a Motorola RAZR V3xx that I've used for a few years. It is as standard a J2ME-supporting phone as you're likely to get from most carriers. I decided to look into doing some J2ME development for the phone to give myself some helpful utilities.
Long story short, there is a reason you pretty much only see games on J2ME phones. Unless you are willing/able to shell out big bucks for signing certificates, you cannot even access the most useful APIs available on the phone. Things like File IO, PIM (contacts, calendar), Bluetooth, etc. are simply blocked unless you get your application signed using a carrier's (AT&T, T-Mobile, Sprint, Verizon, etc.) special certificate. And the cost of these certificates can easily exceed hundreds or thousands of dollars. Putting this simply out of the range of your average hobbyist.
I could go on, but a couple of sites have covered this topic in much greater detail Here and Here.
For me, this pretty much means I will be targeting the Android in the future. The iPhone is also a good place to be targeting. The current state of J2ME on handsets here in the U.S. is just not worth my time for pet projects. Which is disappointing, as most of these phones are capable of doing many useful things otherwise.
It depends on what you mean by 'popular'. If you are counting in terms of installed handsets, then J2ME wins hands down. As far as current installed handsets, Android has few mobile phone companies and only recent mobile phones (whereas J2ME has been around for the last six odd years).
However, that doesn't make working with J2ME a nice-to-have. Sadly, each manufacturer cripples it in some way, and not all phones with the J2ME badge are equal; some are more equal than others. MIDP, MIDP2.0, CLDC, CDC ... the list of acronyms goes on. And when you buy a phone, it has 'Java enabled' without actually saying what it is that it supports, so even the customer doesn't have a clue.
Despite its large installed base, J2ME remains fundamentally unpowered for the world's current generation of mobile phones; the upgrade path is usually non-existent (though it's the manufacturers to blame for that, unfortunately) and you can't even do things like access Bluetooth or contacts in any useful way; though extensions have been proposed for J2ME, they've never really lived up to the expectation of write-once-run-anywhere.
Whether Android goes down this route as well remains to be seen - the biggest concern is manufacturers are trying to 'do their own thing' (e.g. Motorolla's BLUR UI) which will further fragment the market.
Lastly, don't forget that it's in the handset manufacturer's interests for you to throw away your old phone and buy a new one every year (or two). Support, bug-fixes, and generally upgrading your old phone's software, though technically feasible, never happens. I had a P990, and despite a few rounds of updates, it remained as buggy as hell (which is why I ditched it for the iPhone when it came out).
So, from a programming perspective, Android is better than J2ME. For reaching many handsets, J2ME is better than Android. For general user interface and power, choose an iPhone.
Android and J2ME aren't exactly similar in their scope as platforms, in a way, it's like comparing apples and oranges.
When we talk about Android, we are talking about full-blown mobile OS, with much more extended capabilities than J2ME. It could be used for pretty much everything you can think about - system utilities, social network services, location-based apps, games, etc. Android has also richer UI kit and lots of available source code to learn from.
In Android you have access to many APIs, designed to be used in modern smartphones, and these APIs are being refined constantly, while J2ME has started to feel aged, and is concentrated mostly on graphics.
The penetration rate of J2ME is currently bigger than Android's, and by bigger I mean much, much bigger, but business analysis doesn't end just with number of handsets of the given platform.
If you have idea for a great app, you'd better do it for Android and/or iPhone OS - it will be easier for you and you'll be reaching to users that are more likely to need such app, and that are more likely to pay reasonable price for it.
Overall, I would recommend to start with the newer platform, even if only because it would be more interesting and a better learning experience for you.
While there is no shortage of 'feature-phones' supporting j2me in the wild, I suspect third party applications get very little market 'traction' because the users aren't looking to install new software on the phone.
Android is a breeze to develop for. I think you should try it.
There is no harm in getting the SDK and experimenting for a few hours..
J2ME is very popular because almost every phone can run these applications.
Android on the other side has just few phones and netbooks supported, but Android API/SDK is more powerful than J2ME. Android phones come with great hardware and you'll have the opportunity to work with all these "cool" touch screens, gps, accelerometers, etc. It's still in development, but I think it has a future.
From my point of view, Android is more and more better than the J2ME
Learn Android and enjoy... we have lot of fun while developing the Android apps
J2ME apps look and feel and development environment not effective compare with the Android
J2ME is the most popular. Because many mobile phones have a support for J2ME. J2ME's main advantage is that it belongs to the Java family, it is open source and widely supported by various kinds of devices.
Many mobile phones and other devices support J2ME due to its simplicity, easy to implement, etc.
The J2ME is the base for Blackberry,Android,etc.Because the others (other than J2ME) are developed after the J2ME.After eliminating the tough concepts in j2me,using some j2me concepts they build their environment like android,blackberry,etc.
J2ME is very old .It have many drawbacks,limitations,etc.
These drawbacks are overcomed in the latest technology like android,blackberry,etc.
J2me is good .It is old.It have many disadvantages,etc
Android overcome that disadvantages.Android keep on growing
The general java feature "platform independent" is failed sometimes,some scenarios in J2ME.
Android is new technology.It have many features,etc than J2ME.
Developing an application for android devices is simple,easy,etc.
We need ot get the pay liscence for developing application and deploying (applications) into the device.
The android SDK is obtained by free versions.
My opinion is Android is better than J2ME.