?
Solved

java vs html5 project opinion

Posted on 2012-09-20
17
Medium Priority
?
891 Views
Last Modified: 2013-11-19
Hi,

I'm in my last evening-school projectmodule for programming.
So now, we have to come up with an application of any sort, present it and make a business model for our tutors to evaluate. If it's approved we may start our project.

The main programming language we received was Java.

So, my idea was to create a mindmapping application (which I started before as a tryout but never really finished cause of work and school). So I'd like to recreate this application.

But with all advancing technology I'm not really convinced that a simple desktop application will do nowadays. So I thought of putting it into a webapplication. Problem is that applets aren't really visitors favorite choice to use.
Now I've been learning some basic html5 and was thinking using a canvas to represent my application.

So I have a few questions:
-Would you make such application as a webapplication?
-If so, would you use html5, any opinion appreciated :) (negative, positive pointers welcome)
-When I check the use of canvas the first thing I disliked is that when you draw something it's like paint (no variables or objects are being saved), what alternatives are there?
-Any good libraries out there you think might be useful for such project?

Kind regards,
Peter
0
Comment
Question by:Mutsop
  • 5
  • 4
  • 3
  • +3
17 Comments
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 38421700
Only one comment: I just gave my mother an iPad since she cannot use a PC. She cannot sign in to government sites since they all use an apple for identification. That is so annoying!
0
 
LVL 111

Expert Comment

by:Ray Paseur
ID: 38421719
This is only one small part of the equation so please let others comment, too.

Data that is stored on a mobile device is accessed with 1/10 of the battery power when compared to data that is sent from a server to a mobile device.  This is part of the reason that the "app store" and the downloadable applications are so popular.  Plus, if your clients pay 89 cents per download, and your app is popular, you can make a fair amount of money.

If you want to use HTML5, your app can put a cookie the client machine.  The cookie can be a pointer to a data base table that holds a memory of the variables and objects.  There is nothing inherent in HTML that will remember the state or contents of previous site visits; most sites use the combination of a cookie and a data base to preserve client information.

Best of luck with your project -- it sounds interesting and promising! ~Ray
0
 
LVL 111

Expert Comment

by:Ray Paseur
ID: 38421746
OT: Michel, in the USA the federal government is under great political pressure (especially from the disabled) to get better, but the state and local governments are utterly horrid in web applications.  Governments have unlimited amounts of money to get started with projects, but no competition, so there is no incentive to do things the right way or to improve outdated applications.  I'm sorry for your Mom, but her experience with sluggish, marmoreal government agencies is unfortunate and far from unique.
http://wordsmith.org/words/marmoreal.html

All the best from across the pond, ~Ray
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 27

Expert Comment

by:mrcoffee365
ID: 38422155
Are you asking about mobile app vs web app?  I thought you were asking about html5 and a web app vs a desktop app.  Also -- you don't really mean Java, do you?  You mean Javascript.

HTML5 is fine -- only some browsers implement it well, so make sure your instructors know to use chrome, or whatever browser you find works for your app.

There are drawing packages for javascript, and in a sense for html5.  Or a combo.  Try asking another question on ee, this time about drawing tools or frameworks for javascript.  And don't include the Java topic area, don't put "java" in your question -- it's javascript you want answers on.  Or simply google for some -- that will give you an idea of what's out there.  

The big frameworks I know of for Javascript:
* jquery
* google graphics dev kit, google app dev kit
* yahoo javascript dev kit (YUI)

JQuery is much easier than the Google app dev kits, but some people with very complex apps swear by the Google kit.  They all take a significant amount of time to get used to.

My 2 cents:  unless you already did a lot of work, developing an application to draw is a lot of work.  Make sure you have time for your school project.  You should probably confine your project to 1 or 2 drawing examples to try to contain the amount of time you'll need to spend on it.

If you are looking at a mobile app with Javascript, I sugges you look at Adobe's Phonegap http://phonegap.com/ .  Again -- a lot of work to get it going, so I suggest you limit your school project as much as possible.
0
 
LVL 3

Author Comment

by:Mutsop
ID: 38422741
@mplungjan & Ray_Paseur:

What are you guys talking about? Would you mind not ruining my thread please!
Im not sure if this is intended or probably a mistake. but please delete the 2 posts.

@Ray_Paseur (second paragraph):

Well I'm not sure if we have to take the law into consideration but here in Europe we should ask the users whether we may save cookies on their computers or not. Thats the law, but when I check most websites almost none know this. But aside from that it's a nice idea.

@mrcoffee365:

No my application has nothing to do with phones. I'll create a new question for some knowledge on framework usages later on. As for desktop applications I have no issues drawing with Java, As I said I already created the basics before and worked for most part.
0
 
LVL 27

Assisted Solution

by:mrcoffee365
mrcoffee365 earned 668 total points
ID: 38422773
Okay -- so is your question really about a Java applet or desktop app, vs. a web application written with HTML5 and Javascript?

I don't see a problem using Javascript and a web app.  Assuming you're comfortable with javascript.  Alternatively, doing a drawing program in Java is about the same degree of difficulty, but you have more work in creating the display framework (the browser gives you one for a web app) but more control over the user experience.

I don't think either way is a problem.  Your course really doesn't care whether you use Java or create a web app?

There are drawing frameworks for Java as well.  I don't think there are a lot of people with experience in that on ee, but you could try asking a question specifically about that.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 38422835
We were discussing why using an applet may be a very bad idea. No need to get annoyed. Itis in my opinion more and more questionable to use java applets on the Internet. That was all my post was about.
0
 
LVL 28

Accepted Solution

by:
dpearson earned 668 total points
ID: 38422872
1) For the question of webapp vs desktop app - there's no question you should look at a webapp.  That's where the world is going - it's more flexible and usable and from a skills perspective (for a school project) you'll learn much more marketable skills.

2) For the question of which technology to use, there are a lot of choices.  HTML5 is certainly fine.  If you go this way,  you won't want to write this at the raw Canvas level.  There are a ton of competing frameworks out there (all Javascript).  You should check out
http://kineticjs.com/ as its been getting good press.

3) If you want to create a really rich graphical front end then an even better choice than HTML5 is probably Flash (actionscript).  It's been getting some bad press recently since Apple dropped support for Flash in a browser on the iPhone, but Flash is actually a very solid choice still.  It'll be fully supported in Chrome and Windows 8 and runs just fine as an App on iPhone, Android etc. all from one code base.  I know you're not thinking about mobile at the moment, but with the way the world is shifting to tablets you should consider it - if you're proposing a real project.

So in summary if your UI will be fairly simple, I'd go for HTML5.  If it'll be really graphically rich I'd go with Flash.  Either way I'd go with a web app and store the state on a server component - not in cookies etc.

Doug
0
 
LVL 3

Author Comment

by:Mutsop
ID: 38423074
@mplungjan: K, sorry for the misinterpret of the posts. I just didn't understand the link between my question and your post.

@mrcoffee365: thanks for the heads up, it does seem more logic to go for webapp development. And no, our tutors don't really care in what language it is written. As long as its programmed :)

@dpearson: as for flash: I'm still not convinced in the power of flash... It takes waaay to much cpu usage on some computers and phones. Later on this might not be the issue anymore but as of now... I'm not really into this. Thanks btw for the link, will be looking into it.
0
 
LVL 34

Assisted Solution

by:Slick812
Slick812 earned 664 total points
ID: 38423104
Hey,  Mutsop, , , read your question, but for me there's not enough delv spec to have any idea of "How Much" graphical drawing methods you may need to have you "make a business model for our tutors" about your "create a mindmapping application". . . . .  As you have picked up so far, the HTML5  canvas does not offer a large set of "Drawing" methods as compared to an OS compiled program (application), , the HTML5  canvas does not even offer as many drawing methods as Server Side programming (JSP) could call.  As far as using the canvas there are some "Fun to look at" experimental javascript librarys for graphical tricks, go to -
http://cocos2d-javascript.org/
or
http://www.devirtuoso.com/category/experimental/

there was another that had impressive graphics, but I can not find the web addy.

I would think that for any  "web application" you would always use server side programming ( JSP ), otherwise I would not call it a web application.

But it all depends on what and how much you need (or want) to do, and how much "TIME" you have to do it, if you have not done a browser web app before, you may not be able to just whip up the code in a weeks time.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 38423141
Flash on iPhone and iPad? I think not.
0
 
LVL 28

Expert Comment

by:dpearson
ID: 38427391
Flash on iPhone and iPad? I think not.
Yeah - that's certainly the common wisdom at the moment.  Indeed many think there's no Flash support on iOS.

But not only is there support, the newest Flash implementations are fully GPU backed so you can get screaming fast performance, since the rendering is no longer in the CPU.  To see how those games look you can see some of Zynga's new creations - which are GPU accelerated Flash apps and looking impressive (full 3D in a browser or iPhone) - something which wasn't possible a year ago.

Doesn't mean it's a fit for every application - but folks do need to know it's a valid choice these days.  I keep running into people trying to use HTML5 for rich apps and dying the slow performance death (remember Facebook pulling back from HTML5 for their mobile apps due to performance problems?).  There are other options :)

Doug
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 38427529
Please show me a flash based web page that works on my non-jailbroken iPad 3 on iOS 6 and not using adobes media server
I have only ever seen black holes where flash is used
0
 
LVL 28

Expert Comment

by:dpearson
ID: 38427630
Please show me a flash based web page that works on my non-jailbroken iPad 3 on iOS 6

That's not possible.  Apple has blocked Flash *in a browser* on iOS.  (That's for business reasons - if they allowed Flash you could build a competing App Store w/o paying Apple 30% - a reasonable business decision on their side).

But they do allow Flash in native apps.  It's hard to know that's happening - they look just like any other native app.  It's just quicker to write since the same code runs on iOS, Android and the web.

Doug
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 38427911
But the asker is asking about WEB applications, not native object C applications
0
 
LVL 28

Expert Comment

by:dpearson
ID: 38431046
But the asker is asking about WEB applications, not native object C applications

We're getting off the topic here - but what I was saying (if you go back and read the thread from the top) is that Flash is a surprising solid choice today for building the front end of a web application.  On a iOS device that Flash web app will run as a native app - communicating with the same web backend that you'd communicate with in a browser on the desktop.  This is with little or no code changes (trust me - we've done this with some really big web apps - it's very simple).

It doesn't mean that's the correct choice here - but it is a reasonable choice and many folks aren't aware of it and invest months struggling with HTML5 because they believe it's the only cross-platform solution available (after you realize that a pure desktop app is a solution from a decade ago and usually a poor choice today).  So I'm just raising the awareness.

Doug
0
 
LVL 3

Author Closing Comment

by:Mutsop
ID: 38458304
Okay as stated this post went kind of off topic... But no worries there :)<br />Well I asked my mentor for a few ideas and I came to a conclusion to start using SVG.<br /><br />This in combination with JSON and xml I can 'easily' port out ideas to a file using php.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Australian government abolished Visa 457 earlier this April and this article describes how this decision might affect Australian IT scene and IT experts.
CTAs encourage people to do something specific to show interest in your company, product or service. Keep reading to learn why CTAs should always be thought of as extremely important, albeit small, sections of websites.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses
Course of the Month16 days, 19 hours left to enroll

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question