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 come from lots of Java programming and weak at JavaScript.I always used component based web-frameworks for web-application development(ZK,GWT,Wicket.etc)
Now we are planing a web+mobile application.I figured out that its better to separate bushiness-logic from UI using Spring MVC/REST/Jason combination.
Next question is mobile framework.I took a look at following frameworks
1.Sencha - Have to program in JS and it will generate HTML5 based applications.
2.Touch4J - Java Wrapper around Sencha?But whats the connections with GWT?
3.Phonegap - Have to write in JS and it will generate "hybrid" applications which runs in a web-view ? Can I host these applications in a web-server?
4.codenameone - Write in Java and it will generate native applications.(are these not hybrid applications as in PhoneGap?)
Any suggestions on this or are there any other frameworks targeting both browser and mobile application development ?
Codename One creates "true native applications" not phonegap web applications, Codename One renders the entire screen and allows you to embed native components in place thus giving you deeper control than you normally get with web applications.
Basically the choice boils down to whether you are a Java developer or a web developer.
FYI I am one of the authors of Codename One.
The Touch4j framework is a Java binding to the Sencha and PhoneGap APIs. The framework relies on the GWT compiler to take your Java code and translate/compile it to Javascript, just like any normal GWT application would.
Touch4j currently comes in 1 Jar file that you include in your classpath, and you basically use it like any other Java 3rd-party API. Since you are in the world of GWT, you get all the perks associated with that: GWT-RPC, debugging, Java's type-safety, etc.
Once you have written your app you can either run it as a web app (albeit without device
support), or you can deploy it to the device. If there is anything specific that you need to do with the device, you can use the Cordova binding included in Touch4j. There are two tutorials that we have in place to do just that:
http://emitrom.com/touch4j/tutorials/hello-android
http://emitrom.com/touch4j/tutorials/hello-ios
If you want to talk to a backend Java service running in OpenShift, for example, there is a tutorial for that, too:
http://emitrom.com/touch4j/tutorials/meet-openshift
If you are a Java developer, you will feel right at home with Touch4j. Version 2.1 was released yesterday, and it includes support for ST 2.0.1 and Cordova 1.7.
Also in the interest of full disclosure, I am one of the guys behind Touch4j # Emitrom.
#Ashika with Sencha framework can you build MVC application and a native look and feel for iOS, Android or BlackBerry or WEB-application. Phonegap IDE can you build native application with JS or Sencha or JQuery mobile fusion all. I hope theses helps. :)
Related
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 working on a practical work for college, and I have to develop a web-app that could be used by all the teachers from my province.
The application should let the users (teachers) manage some information related to their daily duties. One of the requirements is that I must use
Google App Engine platform for developing and hosting the web application.
I have 2 months to finish the work.
I have some intermediate knowledge of C++, so what language (Python or Java ) and web framework do you think would the best to
develop the application in less time?
I know this is not a strictly programming questions, but please don't delete this post at least until I get a
few answer in order to have an idea of how to proceed.
Many thanks in advance!
I would recommend using Python + Django framework. I love Java, but for the Google App Engine there is much more documentation online for Python.
I would recommend taking a look at Java + slim3. I have my own MVC framework for AppEngine (PhD thesis work), and I really wish I had started after slim3 came out. I'd be using it myself. I can't really speak vs using Python on AppEngine, but I don't think I'd recommend any other Java framework vs slim3. I've tried a few. As an example, I use Struts2 at work. I would not recommend Struts2 given your timeframe -- the learning curve would make your deadline ambitious. Part of this is just due to the fact that Struts2 isn't quite a full stack (saving data in AppEngine is a big deal when you are first learning), which makes only some documentation useful for your particular project. Slim3 sidesteps this by being explicitly targeted to AppEngine.
Go with python and default webapp framework . As you are new to both java and python. Appengine on python has been there for sometime, you will find lots of solution on python as it was introduced earlier. Learning curve is very small in python when compared to java according to me. Also go for eclipse with pydev plugin as your IDE. This will make your deployment and development much easier . Google 's own documentation is the best place to start.
All you need to do is spend some time reading the whole documentation patiently . Even i started with appengine very recently.
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.
Is deploying/hosting Java written web applications more costly than other PHP web applications? What about the cloud solutions & VPS hosting for Java web apps if my app is bigger?
What are the other technical difficulties in deployment of such applications?
Are EJBs required in web application development?
Let me add my 2 cents.
PHP hosting is cheaper than Java hosting for small/medium applications. For larger applications if you want to go to cloud or VPS hosting solutions I guess there won't be any difference as in these kind of hosting you pay for resources rather than for a specific hosting.
EJBs are absolutely not required for web applications in Java. You have zillions of other way to develop web applications in Java: struts, Spring, etc.
I don't think there are any technical difficulties in deploying applications in Java or PHP. The harder will be of course to find a team of skillful and motivated developers.
Java hosting is a little more expensive than PHP hosting. Nothing dramatic anymore...
The differences are not huge. Mochahost i.e. offer PHP hosting from $1.95, $2.95 and $4.25 per month while Java hosting starts at $2.95, $5.57 and $8.44. (link)
If you are seeking for true charging you can give a try to automatic vertical scaling available in Jelastic. This is an alternative in terms of cloud solutions, where you actually pay only for the resources consumed.
If you're speaking of costs/ money/ pricing of hosting web applications, then PHP may be a better option. This is because there are lots of servers which provide PHP support. By looking just at the numbers, hosting PHP websites are easier and cheaper.
The main reason is because it is comparatively easy to learn and use PHP.
That's why, many beginners start developing in PHP.
However, Java would help if you're developing a highly scalable Web Application.
yes, java hosting is generally more expensive than php hostings.
No my friend
Jsp and Php Are two different thigs
for creating webapplication sercurea and not accessable from out side world
we have to put our jsp in
TOMCAT/PROJECT/WEB-INF/JSP
here WEB-INF
and MATA-INF
folder is protect by defaluts so if you want to open your application
like
http://localhost:8080/PROJECT/one.jsp
then it will give you 404 error
so you need controller servlet to run your Jsp file
So It different Then writing php application and diployment
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.
Most of the desktop application development I do is in Swing, and I'm curious to hear people's thoughts on using JavaFX and/or Adobe Flex for building desktop applications. Have you had success building desktop apps with these? Or would you stick with Swing for now and use tools to help make Swing development more productive?
If you're making desktop apps, I'd stick to Swing. JavaFX/Flex/Silverlight would be more appropriate for RIA - rich internet apps. Although I'd argue that none of them would be a choice for the long term - looks to me like HTML5/CSS3/Ajax are winning the day, but thats a pretty subjective area. But for desktop apps - I'm a big fan of Swing (also Java Web Start is a very underrated technology)
I would say that JavaFX can be seen as a kind of extension of Swing with a new way of developing a Java GUI by using a declarative programming language: the JavaFX Script. JavaFX Script code looks exactly like a JSON script, unlike Adobe Flex or Microsoft Silverlight which uses an XML syntax.
JavaFX Script can interface with Java and therefore can call Swing components easily. It's really a new generation of GUI API, like Swing was for AWT: nice graphical components, new easy ways to manage layouts, really nice features to build dynamic interfaces: bindings, timers (to build animations), etc. Have a look here: http://www.javafx.com/samples/ and to the tutorials and see how fast you can build a kind of Google Picasa application... The API even contains some tools to use easily web services: you can find plenty of samples of GUI built in JavaFX connected to some public web services (like a Weather Forecast tool).
And the best... is the deployment part. You can embed your application within an html page, like an applet, and the user can drag and drop the application to her/his desktop to use it whenever she/he wants (without returning to its browser)!
Really, I think JavaFX, at its early stage though (v1.2), is a really good tool and represents the first step for Java toward the next generation of applications: the Rich Internet Applications (RIA).
Java Swing is an established and mature technology for desktop development. You'll be able to find lots of information online and plenty of sample programs. With that said, however, you might want to consider Adobe AIR. AIR is basically a runtime that lets you run your Flex apps on the desktop, and gives them access to local resources such as the file system. I've written Java Swing apps for 10 years and I am amazed at how much more productive I am using Flex/Adobe AIR. One nice aspect of Flex is that you can create your GUIs declaritively, much like how you use HTML to declare the layout of a webpage. It's a much more concise way to specify a GUI, and much faster and easier to maintain than the reams of Java Swing code you need to do the same thing. I wouldn't recommend JavaFX since it is so late to the party and hasn't really gotten with mainstream developers.
You should try them all and see which one fits best with your requirements. If you want to see what you can do with Flex and how to do it then check out Tour de Flex.
Some of the advantages of Flex are that it is mature (over 5 years old now) and a significant area of investment for Adobe. You can also find numerous examples of AIR apps built with Flex in the Adobe AIR Marketplace.
Swing can look good with Substance L&F.
However, if you are developing alone (as opposed to with a team), trying JavaFX might be a good idea.
Please read the about this, write extremely lightweight swing applications and with the same code base move it to web.
demos
runtime
I had evaluated these for desktop application and finally desided to go for JavaFx . This have very good media library and hardware accelerated graphics and media capabilities . With Jdk 7 update 6 onwards contains JavaFx totally I integrated no separate installation is required . Java swing is very good technology and will be continued but I see JavaFx is the future for GUI and Internet application to some extent. Biggest advantage for me was that JavaFx app could be converted to exe files with native packaging
Also try scenebuilder for drag and drop component designer
I feel that I do not have enough information to answer this question. There are many applications in which an AIR approach is a better choice, other applications use other technologies better. I am primarily an AS3/Flex developer, but I know there are many instances where one of the Java platforms is a better choice. Now that Flex is no longer an Adobe product but rather a Apache product, it will either improve the product as the users will create the roadmap, or kill it off completely.
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 come from a few years experience in .NET, and played a bit with
Java during my uni studies.
Could you recommend any good books to learn the best ways to
develop a Java web applet?
There is a good SUN tutorial on Applets here.
I wouldn't put applets at the top of the list of Java EE technologies to learn. They were very important when Java first came out, because they made the browser dynamic, but they aren't as important now.
I'd say that the best approach is to start with servlets, JSPs using JSTL (Java Server Pages and JSP Standard Tag Library), and JDBC (database access). You can go a very long way writing web apps just with those technologies.
Just a suggestion, but the documentation on Sun's Documentation Site and their Tutorial sections offer a lot of good information that'll put you on track with their core functionalities. I'm currently taking a Java course at my local college, and I refer to the API website & documentation sites more frequently than my book.
The use of Applets has declined, especially, in light of newer technologies like Flash. However, you still see some use of Java Applets. For example Facebook has an Applet to help you upload photos.
There is quite a push to re-invigorate the Java applet technology, and most of this push comes from JavaFX. JavaFX is a scripting environment which offers many of the features which has made Flash so popular. JavaFX runs on top of Java's applet technology, but uses it's own graphics run time instead of Swing.
Most books on Java applets were written pre-Y2K. The few up to date books on applets are mostly written for non programmers. See the books by Elizabeth Boese for example.
If you want to take up learning JavaFX (which will teach you a bit about applets), I'd suggest reading Pro JavaFX⢠Platform.
If you're developing applets, you'll inevitably be better off starting by learning to develop using the swing api. I'd suggest pulling down the netbeans ide, and create a swing ui in it (you'll feel pretty comfy with this if you have experience with winforms, etc.) It's not hard to turn this result into a webstart app or applet. I'm partial to netbeans because of it's excellent ui builder's integration with the matisse layout concept.
If you're interested in an asp.net (ish) framework for developing web applications, take a look at Tapestry. It's not identical, but a lot of the concepts are the same (you extend a page object, you make reusable components, etc.)
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.
I am on a Windows machine.
Want to practise Java for the web using: Tomcat, Java, JSP's, Spring Framework, and Hibernate.
http://www.eclipse.org/downloads/
(Silly question, but I am a newbie and don't want to get the wrong IDE version.)
You want to practise java for the web using: tomcat, java, jsp's, spring framework, etc.
then you should download the Enterprised version.
Personally I would prefer NetBeans. I use it frequently and I find it better(simpler rather) than Eclipse.
Who says you need Eclipse? NetBeans and IntelliJ are both good choices as well.
If you're a newbie to Java, I'd recommend staying away from Tomcat and JSP until you can write the core language comfortably. Likewise, stay away from Hibernate until you've mastered JDBC. Spring is very complex tool that should come last in your development.
My recommended order would be:
Base Java, including JDBC.
Tomcat, servlets, and JSPs using JSTL (allowing CRUD-based web apps)
Spring
UPDATE: It's great that you're already familiar with relational databases, ORM, objects, and DI. But I'd still recommend that you learn the language basics first. If you're really good at C#, it won't take you too long. There's an idiom to every language that you'll want to know to write well. Take the time to try and find it.
I'd recommend either the classic or IDE for java developers first, and then as you get familiar install the other plugins that you'd want/need. That way you'll learn the structure better. That being said, use Netbeans instead.
You should go for Eclipse Java EE but AFAIK it won't come with app servers bundled in. So you'll need to install those in addition to Eclipse and configure it.
However, you can go with Netbeans and it all comes pre bundled and pre configured and you can simply get started with writing code.
As a learner Eclipse would be a better.
You can follow this URL to download it:
http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/SR1/eclipse-java-galileo-SR1-win32.zip.
Once you are comfortable with the basic functionality with Java, you can start with any
web Server or an application server.
Then you can implement the Framework.
Personally Eclipse is very friendly in use.
Don't go for any of these.
As you are working on windows platform I would suggest you to first try out JBuilder. Checkit out! It is better in all ways compared to Eclipse and Net Beans but to gather, because it gives a Visual way to build your GUIs!
I am a long time IntelliJ IDEA fan, but if I need to do AspectJ work, I turn to STS. I found it real easy to get started with Eclipse because it seems to contain the plugins I need already.