Should we go the Corona way? [closed] - 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.
We are a small company that develop applications that have an app as the user interface. The backend is a Java server. We have an Android and an Iphone version of our apps and we have been struggling a bit with keeping them in synch functionality-wise and to keep a similar look-and-feel without interfering with the standards and best practices on each platform. Most of the app development is made by subcontractors.
Now we have opened up a dialogue with company that build apps using Corona, which is a framework for building apps in one place and generating Iphone and Android apps from there. They tell us it is so much faster and so easy and everything is great. The Corona Labs site tells me pretty much the same.
But i've seen these kind of product earlier in my career, so i am a bit skeptical. Also, i've seen the gap between what sales people say and what is the truth. I thought i'd ask the question here and hopefully get some input from those of you who know more about this. Please share what you know and what you think.

This is a very controversial topic and opinions can vary.
Disclaimer: This answer is for all of the generic "code once for all platform "solutions. I have used Corona in the past for OpenGL related work and it works well.
Assuming you are not making a game.....(game is another story since the user experience is similar and platform agnostic)
Personally, I'd say stay AWAY from these solutions if you are building anything that is complex.
Yes, you will only have to maintain one code base, but maintain two or three code base does NOT necessarily mean that more time is required, especially if you will make multiple apps and have common code between them.
The top five reasons not to use them that I can think top of my head are:
You will often run into problems that you won't know how to solve and there is a much smaller community with each framework.
You won't likely save time because you will have to code parts natively and you will have to learn the respective platform anyways.
The look and feel, as well as navigation on Android and iOS is different. (Example: just look at the leather header on iOS). Having code a few apps for both iOS and Android, personally I feel that it is impossible to have the same user experience for both platform. Example: Android have a back button.
Performance will likely vary a lot. (Especially those HTML5 based, see how Facebook just switched to Native?...note that Corona is NOT html5 based though)
You have to pay.
In summary, you won't save time AND money in the short term or the long term. :)
However, this industry is moving VERY fast right now, so they may become much better solutions in the next few years.

I think it is a trully terrible idea if you want to do a quality app. Not specifically Corona; but any code once run anywhere tool for mobile apps.
At least Corona is not based on html5 ; I don't have any bias against webapps but I simply don't know any good mobile app based on html5.
I think it could very easily lead to way more maintainability problems than if you were maintening two clean code bases.

Related

Point and click game tutorial for android [closed]

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 looking for a tutorial for android point and click game.
I looked at the comments in this post:
resource-on-making-a-point-and-click-game-no-flash
The links posted do not have any thing to do with android.
I also read:
android game tutorial
However, it is not a point and click game. So, I am looking for a tutorial about Point and Click game specifically for android platform.
Edit: By "point and click", I refer to a game style similar to the PC. However, I do not want a mouse pointer, that would be weird on Android. I just want the user to be able to touch various widgets/ objects on the game screen, and interact with them (by tapping on them).
Construct 2 is a good place to start. They have many tutorials specific to Android development, and their beginner tutorials have different versions (top-down, side-scroller, etc.), which will give you a great sense of the software. The free version of their platform covers most things. The paid version has additional layers, which are nice for more advanced tricks. You should also check out their showcase games, to see what others have made for Andriod.
The beginner tutorial is enough to figure out how most point-and-click stuff works. Page 5 of the beginner's tutorial has the first mouse-click event There is a way to set an event to happen when you click an object, also (for example, when you click a monster, it dies). Here is an easy-to-follow Whack A Mole. Usually you build the full game, first. Then, you get into an Android tutorial to add everything necessary for it to work on Android. It's an easy process for a skilled developer, but it requires that you venture out of the user-friendly, point-and-click game construction kits like Construct 2.
From the perspective of a developer, your best bet is going to be Java. It's probably the most Android-friendly language out there. It will be the most stable, fastest, and easiest to learn in most cases. Also, it will require the least on the part of the user (for example, users won't need a custom browser or Jetpack, Air or anything--the user won't need to install anything other than your app). The top hit on google, today, is here: http://www.javacodegeeks.com/2011/06/android-game-development-tutorials.html.
There are other, easy-to-find places you can read up on getting started with Java for Android game development--meaning this question will likely be closed. It will require reading other people's code, and you should probably start by familiarizing yourself with Java. After you have spent a good chunk of time studying Java, you can go through tutorials and understand them and get creative with different customizations and applications for various of code. The top hit on YouTube is a point-and-destroy, Whack-a-Mole-type game, with source code, for example, which may suit your purpose. I can't completely tell by your description, though, because people don't generally click unless they are using a mouse, and an Android doesn't use a mouse afaik. :) You should consider updating your question and getting into some gritty detail.

How to Create a Storybook App for Multiple Platform [closed]

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 9 years ago.
Basically I am trying to create a storybook app that is easily migrated between platforms (Android, iPhone, tablets) and has these features:
- "Read to Me" — listen to the narrated story with words highlighted as they are read
- "Read it Myself" — read the book in its traditional form.
- "Auto Play" — plays like a movie, automatically reading and turning pages.
For example the storybook app by Oceanhouse Media's "All By Myself - Little Critter" storybook app.
Looking around, these are the options I found:
Hybrid: jQuery Mobile + (PhoneGap or maybe just use WebView)
Native with OpenGL - Maybe too hard for me since I need to learn OpenGL + Maths! And not good with migrating between platforms
ThirdParty SDK : Corona, Titanium or Unity
Unfortunately, this is a question that has not yet, and actually will probably never, get a satisfactory answer.
Cross-platform has always been a problem from the dawn of computers and will continue to be one.
The only way to be cross-platform is to strip your app to a bear minimum feature-wise because every single new feature you are going to add will make it harder(a lot) or impossible to work on another platform.
Examples Webview :
- Javascript performance on Android devices is horrendously slow so don't expect nice animation from it.
- Communication from html pages to native Android is buggy to the last degree.
Example OpenGl :
- iphone, android, blackberries do not use the same subset of opengl. I guess for a book reader this is not really a problem because they all have the same basic coverage. But you'll have to know and code the opengl launching for every single platform and work around bugs that are also platform dependent.
Example thirdparty sdks : You have to know that every time you add a third party sdk between you and the native platform you are actually adding the sdks' bugs to the native bugs. What usually looks good when you begin, end up being a mess when you are done trying to circumvent all these new bugs.
Now to answer your question : If you really want to go the cross platform route, you need to keep in mind that you will loose some functionalities along the way. Once you know about it, it's easier to let go :)
I went with the Html + webview and its doing ok for my purposes but is far from perfect.
If I had to do it again I would probably try a third party sdk like AIR from adobe which would be the best supported one(it's where the money is) but I hear some friends developers fighting with it quite a lot to achieve what they want. The results seem quite nice though : http://www.youtube.com/watch?v=PBBNHEKIJkM
A final word : Be careful with the read out loud feature, it might be illegal : http://marilynnbyerly.com/texttospeechande.html
Good luck.
You could compare your project to a game project :
read to me : music background + user interactions + scripted event based display
read it myself : user interactions + scripted event based display
auto play : scripted event based display
In that case, your technical choice becomes easier to evaluate:
Hybrid dev will be difficult to achieve because the level of interaction and control needed on the events will be high (for example pausing the narration, page flipping, etc.)
Native opengl : better control but cross environnements and technical knowledges required make this choice very hazardous and complex to achieve
Thirdparty sdk : may be the best choice, it will allow you to focus on the user features instead of the technical aspects. Unity does that very well.

android vs iOS which choose [closed]

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 11 years ago.
I'm a Java developer and I want to start developing mobile applications.
The question is, which android or iOS seems to be better?
What can you tell me about the learning curve of each one?
I also want to know about the market or the profits of each alternative.
There is no better, just diferent.
I think this is greatly a matter of personal opinion, I develop on both platforms and think Android is a lot better, but have many coworkers that swear by iOS.
I jumped from Java to Android to iOS, being unfamiliar with Objective-C, i have to say the iOS learning curve for iOS is quite steep at first, the syntax for Objective-C is quite diferent from most languages, it doesnt feel like java, C, C++ or even Haskell, that said, once you get your head around it, its ok.
What market is better is something you have to ask someone with great future vision, Android seems to be growing like crazy, and I would bet on it, but you cant deny the Apple iOS fanbase is huge, and lots and lots of people wont be leaving iOS for a long time.
Apple seems to be the first to have ideas for a long time, even though they dont make the best products, they make them first, this gives them a huge advantage over competition.
So, if it were me, I would develop for Android, but I cant really tell you why, as I stated before, its really a matter of personal opinion. Decide for your self, take a look at some market stats for both the AppStore and Android Market, read their policies, and look through some tutorials for both platforms, after that you should be able to take a mildly educated guess at which to choose.
You can't use Java on iOS so I would say Android :)
The learning curve depend if you already have done some mobile development.
That's a pretty big question. One thing I can say is, Android apps are written in Java, so you've already got a head start there.
The Objective C versus Java angle has been nicely covered with the other answers. The preferences here largely being subjective.
On the market/profit side, it kind of depends on what you're trying to do. Android is heavily skewed towards free or advertising supported apps. One factor in this is down to the fact that you actually can't buy apps in many of the countries that Android handsets are available in.
This means that if your business model requires people to purchase software, iOS is currently way ahead of anything else. For free software it's less clear. iOS users already download lots of apps. Android appears to be growing more quickly. Probably neither are bad choices.
This, of course, only factors in Android and iOS. BlackBerry has higher average selling prices for apps than iOS but probably fewer willing customers. It's also, I believe, Java based. Windows Phone 7 could be interesting, especially for enterprise developers already familiar with C#.
Well for you, Android would have the easier learning curve since the Android SDK is all Java. For iOS you'll have to learn Objective-C which is significantly different from Java.
As for which is "better", that's entirely subjective. And as far as what the market is like, there's plenty of material on that out there.
i would go for android , the market is growing rapidly and there are many area for improvements plus it uses a language we all know & familiar with , Java
Objective C relate to Cocoa like Java to Android.
Android is like a Framwork for Java.

How to go about learning the android framework [closed]

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 just started looking at the android framework and was wondering what was the best way going about getting good at it. I started with a text game and created a simple bubbleWrap game next. But am not sure if I'm going about it the right way now, so I thought I'd ask some of you more experienced Android people out here. Are there any courses online that would be beneficial? Any books that helped ya'll?
Thanks in advance!
Here I m listing some forums that may help you getting started with Android:
http://www.vogella.de/articles/Android/article.html . Besides getting started, it also teaches to build a hello world app, demonstrates how to build menus and work with preferences, a nice content provider example and how to make a file browser. At last it demonstrates how to deploy your app onto a real device.
http://marakana.com/forums/android/examples/ This is one of my best recommendations. Some very nice demo projects are hosted on the site.
http://smartandroidians.blogspot.com/ Nice tutorials by Nithin Warreir. The blog contains some code snippets that help during development of big projects. One can learn implementation of various tools of Android development easily here.
http://www.anddev.org/ Anddev forum is pretty famous for having a large number of online users everytime. For any query you can easily post a question in this forum. Wait for the help that comes in just a few minutes.
http://slideme.org/ Besides the Official Marketplace, this is another marketplace that hosts developer's applications. For registering as developer in the official marketplace, one needs to pay $25, here lies the advantage of joining SlideMe, it is free..!!
Also try two books for Android Application development:
Android 2 Application Development
OReilly Android Application
Development and Wrox Professional
Android 2 Application Development
Hope that helps...
I started out reading Application Fundamentals to get the 10,000 foot view of the framework. From there I bought Pro Android 2 in order to quickly learn about various Android subjects. I don't necessarily need to know about all of these subjects now, but it helps to know about other options. For instance, I don't need to use Content Providers right now, but they are a useful topic to be aware of if my app's requirements head in that direction. After flipping through that book I took a look at some of the tutorials that related to my application.
I'm currently developing my application with great success, although I continually have to reference the Documentation. Answering questions on stackoverflow has also helped me quite a bit, because I often learn more about the framework in researching for responses.
Also, make an effort to read a Technical Article every day from Developer Resources. Most of the articles are easy to follow, and they often cover issues you may not consider (such as the article on Avoiding Memory Leaks).
I've just finished reading Beginning Android 2 and can recommend it over the Oreilly book, it is a lot more thorough and gives you virtually every topic you need to learn for Android development. The author is on stackoverflow as commonsware I believe too.
The best option is to get an O'Reilly Safari subscription, then you get a whole bookshelf of Android books for $20 a month.

What will Google App Inventor mean for mobile software development? [closed]

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 12 years ago.
Google Labs will be rolling out something called Google App Inventor (for Android). CNet says:
"To use App Inventor, you do not need
to be a developer. App Inventor
requires NO programming knowledge.
This is because instead of writing
code, you visually design the way the
app looks and use blocks to specify
the app's behavior," the Google
project description states.
I sense a big, big development here. This is big. The Android platform is really gaining ground on a big range of devices: phones/pda's, netbooks, tablet pc's and embedded systems.
The underlying Android SDK is a well-written framework, but only a reasonable java-programmer has the knowledge to use the components to build a proposed piece of software.
I spoke a lot of people about the android platform. A phone with Android is not a phone. It's a device with wireless and 3G internet capabilities, bluetooth capabilities, a camera, a speaker, a microphone, a touchscreen, a motion sensor and a GPS receiver. These components can be combined in endless ways, the sky is the limit.
Until now, you would need to hire a Java programmer to build that 'genius app' for you.
But now, everyone and his sister will be building them, publishing them, and improving them.
Don't you think this is going to be big?
No, I don't think that it is going to be big. Not really.
It's not going to be nearly as big as the hype, which will fade. There have been dozens and dozens of programs that have tried to make it possible for non-programmers to create applications. They have all dramatically under-delivered, and even though I respect the heck out of Google, there is no special reason to think that they have solved the intransigent problem of programming being hard.
Also, it is important to remember that Google LOVES to release products that are still immature and requiring significant polish. They also kill under-performing products without any sentimentality. This looks tyo me like a classic Google trial balloon app. Don't be surprised or heart-broken if it suddenly disappears with no fafare.
I take issue with the statement that developing a program will require "NO programming knowledge". This is bordering on marchitecture.
So-called "programming knowledge" is more than just being able to remember syntax and string together text that can be compiled into something a machine can execute. It requires problem solving skills, the ability to develop and analyze algorithms, wrangle with complexity, modularization, so on and so on. These are essential skills of a programmer more so than the ability to recall syntax.
If anything this may make simple programming tasks more approachable to people that have problems understanding/remembering precise syntax, but it will hardly eliminate the need for programming skills. I can see it being useful in an educational environment where the goal is to lower the barrier to entry for understanding programming topics without syntactical nuances getting in the way.
Actually, I would be tempted to use this topic as an interview question and weed out any candidates who claim it allows you to develop a program without any programming knowledge or otherwise level the playing field between programmers and non-programmers.
While I think the other answers have got it right that programming is a slowly learned skill that cannot be replaced overnight with a nifty interface, there are a couple of things that may yet make this pretty interesting:
Built-in support for interfacing with popular services like twitter, etc..
The ability for power-users to do crazy and interesting stuff by stringing together some formulas. Sometimes a power-user with a crude tool can be more in tune with solving real problems than a programmer who is trying to brainstorm an app that will sell. I'm thinking primarily of Excel here, where a business user can learn a powerful mini-language to solve their personal problems, often in ways that are either brilliant or horrifying.
Will it result in tons of crappy apps? Probably. But it will also put pressure on Java developers to up their game and produce better stuff - or get buried in the flood.
I don't think this is going to be big but I do think that this will open the door for non-programmers to be introduced to programming and possibly increase the supply of programmers after non-programmers get a taste for software design. As other posters have mentioned this has been done before. What makes this different is the popularity of Android. My guess is that this will bring in 3 different types of people:
Business men and women who have
an idea for an app and want to avoid
hiring a programmer,
Non-developers that are interested
in learning how to program and use
this as an introduction to the
mindset, and
Existing developers that just use
this as a means to develop apps
faster and easier.
I don't think this will change the way people program though. My guess is that this will only allow you to create basic apps and in order to get into the more complicated stuff you'll need to dive into the code. This will open the door to more "developers" though.
There's been exactly one really successful end-user "programming environment" since Basic that I can think of and it's not Visual Basic on Windows or Rexx on the Amiga or even Logo for kids. It's HyperCard.
HyperCard spawned a huge number of people doing stacks for their own needs and for others like I've never seen. There were even commercial programs (even games) written using it as an environment.
So how well does this emulate the things that made HyperCard a success?
Well, HyperCard came with new Macs
and was reasonably cheap unbundled,
App Inventor is free so that's even
better.
HC had a very simple paradigm
that was easy to understand, I've yet
to see what the programming
environment is like for App Inventor,
but it's hopefully not too bad.
HC could be hooked to almost anything
via various extensions. App Inventor
is Java under the covers, I think we
can safely say that it is a full
powered language with connectivity to
everything under the sun.
The biggest problem with Google is that they lack the things Apple is best at, hand holding, packaging, removing layers that might intimidate newcomers, sizzle. You only have to watch (perhaps cringe) through one of Google's I/O conference keynotes and compare it to the slickly produced product rollouts that Apple has done for years to get a sense for how well they can sell things. Selling is not their forte, and that, more than anything else, can temper the adoption of App Inventor even if it's great.
I think that this could be problematic... I mean even seasoned java developers are creating apps that interfere with the main thing that the platform is there for ... the users phone.
App inventor might be useful for games, but do you really think that it can be used to create media player apps, security apps, etc?
General purpose visual programming tools have been attempted and subsequently failed, hard, since the 60s. Possibly even the '50s.
The only ones that have done "okay" - to my knowledge - are ladder logic tools and Labview. They are fairly limited in scope.
So Google App Inventor probably will mean the rise of a few nifty widgets, a slew of "meh" ones, and a long tail of failures. Much like other programs. But I don't think it'll Radically Change The World. I could, of course, be wrong. Google may have gotten with a disruptive idea and has a realistic visual programming model. They have the money and the brain trust to find or happen upon one.
This sounds like an advertisement or something. No, I think App Inventor is subset of what MIT's Scratch is and I think this will just be a vehicle to deliver millions of useless porn clips and wallpapers. I found Google's video to be laughable, of all the things, a woman makes a cat wallpaper app that purrs? I think it is very naive to think that this will "democratize programming" or whatever cliches people like Seth Goden are likely to bandy about.

Categories

Resources