Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
At my current job I've been working on making web apps with Java, Tapestry, Hibernate, MSSQL, and Tomcat.
I've got an idea for a little web game I'd like to write. I'd like to know what the SO community would use for something like this.
Should I stick to what I know? I was thinking it would be very beneficial for me to learn different languages and frameworks. Any suggestions?
If its a personal project then take this as an opportunity to learn something new.
Spring Framework using Spring MVC 3.0
I recommend learning something new because even if your idea is a failure, at least you learned some new technology out of it.
I can suggest Grails as it is a modern and easy to use RAD Web-Framework, has a small learning curve and is proven to be scaleable.
It builds upon Spring MVC, Hibernate and other sophisticated frameworks and merges them with the dynamic nature of Groovy (dynamic language for the JVM) into a full-stack webframework. It follows modern principles like CoC (Convention over Configuration) and DRY (Don't repeat yourself). You can deploy the applications straightforward as .war file in tomcat or any other servlet container or applications server.
My recommendation would be to see what you could do with a combination of Google App Engine, Django, and JavaFX.
In doing so, you'd learn some new technologies (App Engine) and languages (Python for Django, JavaFX) while taking advantage of what you already know about web apps and Java.
I'd pick Haxe.
Haxe (pronounced as hex) is an open source programming language
While most other languages are bound to their own platform (Java to the JVM, C# to .Net, ActionScript to the Flash Player), Haxe is a multiplatform language.
It means that you can use Haxe to target the following platforms : Javascript, Flash, NekoVM, PHP, C++, C# and Java
If your thinking about an online game like a RPG or card game I might be selfish and suggest you have a look at Project Darkstar and let us know how you got on. I've been trying to get started with it and cannot get it up running in my environment.
PHP and MySQL is an easy place to start for web apps. Your ISP will support it and there are tons of tutorials on the web.
Once you have got the hang of it, take a look at MVC architecture. It's a way of structuring web apps.
Personally I'd then recommend looking at CodeIgniter.
However a game is a different matter, maybe try Flash?
If you want to improve your skills push what you already know. If you want to learn new languages and ways of doing things, then look at alternative technologies and stacks.
It all depends on what your goals are...
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
I need to develop a basic web app very quickly (1 week) for a demo.
My requirements are
Java (I need to make use of existing Java libraries to access the relevant data)
2 screens
One for static data view, maybe some search parameters
Other for basic form entry
No fancy AJAX required
Ideally easy for a web designer to come in and tart it up as necessary, without having to rewrite everything
My first stop was going to be to checkout Wicket as I've heard good things about it. I don't have the time right now to dive into anything heavy, which probably writes off JSF in my mind (I played with JSF1, steep learning curve which I've now slid back down).
I'm happy to treat the result as throwaway so if there's a framework which starts of well but then doesn't scale up to bigger projects, that would be ok.
Any suggestions appreciated on frameworks/approach.
Spring roo can very quickly create web applications using GWT for CRUD, and tarting it up later. Check out the Keynote from Google I/O 2010 (Especially Day 1, Part 9) where the skeleton of a basic expense tracking application is developed from scratch in about 2 minutes.
GWT support is in Roo 1.1.0.M1
As a milestone release, Roo 1.1.0.M1 isn't intended for mission-critical use.
It is probably easiest to get in the form already integrated with the eclipse based SpringSource Tool Suite
I suggest the Play framework which has the huge advantage to be full Java (so less learning curve if you don't know Groovy). Check out the demo!
Use Groovy/Grails. Full access to all Java libraries and you will be done so much faster it will make your head spin.
This is from a hardcore java user, by the way. It's just not the appropriate language for most web apps.
Oh, you could probably also use JRuby on rails.
Google App Engine. There are some good video tutorials from Google that get you up and running in no-time.
http://code.google.com/appengine/
Intro (< 10 min): http://www.youtube.com/watch?v=bfgO-LXGpTM
Check out CUBA platfrom, it matches your requitements.
I can suggest GWT. It works on Google App Engine too if this is an internet app.
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 2 years ago.
Improve this question
As I plan to switch my career to a 100% web services development company(using open source Java technologies), I need to build a thorough knowledge in the foundation concepts and then related technologies. But I'm pretty confused by the thousands of jargon and technologies. What study/development plan would you suggest for a novice? A list of up-to-date books,articles,tutorials would be greatly appreciated.
Assuming you want "Java web services" (question is tagged with java) and assuming you already know Java and understand basic OO concepts like inheritance/polymorphism and the need for abstract classes/interfaces, start with a book preferably this.
There are many code examples. Once you have worked the basics out, check out security, performance, RESTful web services (don't get nervous about terminologies, they are mostly fancy terms for most "common-sense" stuff). Keep in mind, if you had "common sense" most of these should make sense (once you wiki or google them up).
Finally if you are someone like me who only reads if she has to clear an exam then take up the Sun certification for Web services. I know many experts scoff at this idea saying "it is not useful", I think if you are a beginner and if you clear this you will atleast know that have done something. (This is not to be confused with "Certification makes a better programmer" which can be debatable)
You will have a lot of learning to do. First of all, if you want to do ANYTHING in the Java world, you need to master Java and the standard runtime library.
A good resource for learning this is the Java Tutorial. http://java.sun.com/docs/books/tutorial/getStarted/index.html
Take particular notice of anything related to sockets, as these are essential to web services.
Then you can start considering how to do servlets, web applications and web applications providing web services.
Learn programming in machine code
Learn programming in assembler
Same in non-structured language like Fortran
Same in structured language like C, Pascal
Same in Object Oriented language like C++, Java, Delphi
At this spot one might not need this plan anymore because webservices may become obsolete, but if to continue, goto step 7
Learn abstract classes
Learn pure abstract classes
Learn interfaces
Now it is possible to start understanding cross-language interactions like JNI, COM
Briefly learn networks, client/server, RPC, protocols, remoting
Learn in depth one of remoting technologies like Corba, DCOM or XML over TCP
Learn in depth http, XML, XSD, WSDL
Implement simple client of Web Server
Having overall combined knowledge one can consider self able to see some value in WebServices
Implement few SOAP clients, consuming existing web services. Become comfortable being a WS user
Start learning service side of WebServices starting with unsecured WebService
Learn compliance verification tools
Learn WebServices
Done
I am not sure if you are an IT guy or not. I assume you are.
Here are my tips to start-off learning web services:
- learn HTML, XML
- learn OOP language like Java (core Java should be fine)
- learn SOAP
- learn/install tomcat, AXIS2
If you are pretty new to IT field, i would recommend you to reconsider your decision to learn web services, since it will take at least an year for you to be there. Take baby steps and try to learn OOP language first. Then decide what to do next. All the best!!
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 would like to get an opinion what language is better to use with LifeRay. I would like to build some app that I would like to integrate with LifeRay. What language do you suggest would I learn first?
Java? - A friend suggested that Java and LifeRay goes well.
Django? - I recently new this and seen the overview I find this pretty straight forward and I think would be easy for me to learn But I don't know if fits with LifeRay.
Liferay is written in 100% Java.
I don't know if there even exist a portlet in Python/Django. There is a Ruby/Rails bridge for Liferay Portlets http://rails-portlet.rubyforge.org/ , but I would definitely go for Java.
(Liferay) Portlets are based on Java Standards (JSR-268, JSR-186) so Java is the way to go.
Others have already answered that Liferay is a Java application. Let me add that there are definitely numerous ways to utilize other languages to customize liferay.
However, as you ask about what language to learn first be warned that a portal container is not the easiest environment to learn and - in addition to the language - you'll have to learn a great deal about the specifications implemented, the coding style and other used frameworks.
In code size, Liferay is huge. If you start to learn one of the two languages there are two aspects:
Regarding Liferay, support in the forums on www.liferay.com is best in Java, I've rarely seen support for other languages (neither questions nor answers)
Regarding your personal learning curve: If you're working closely together with django folks you might get better support for them in django.
Basically: You have to decide for yourself. Learning a new language and a new framework/server/environment is tough.
There are ways to write JSR compliant portlets in Ruby, PHP and Groovy as well as Java through Portal Pack - you could also run Django through Jython on the app server backing LifeRay and use this to back portlets. I'm not sure how preferable this would be to just doing it in Java though...
I thought Liferay was a Java-based portal product. If Django and Python are an option, I'm not aware of it.
This link suggests that I'm correct.
Liferay does support creating portlets in scripting languages.
Take a look at their wiki for help
I have worked with Liferay DXP with many languages: Java, Kotlin, Scala. Liferay also works with web frameworks like JSF, Lexicon, Groovy, GWT, JQuery, Twitter Bootstrap, Metal.js, React.JS, Angular JS and Angular 2, Node.js, Ruby and special mention Vaadin. Personally I´ve experience in Vaadin and Angular 2.
What I mean is that Liferay (just as develop portal, ant take out any content manager functionality) it is an excellent front integration for different developer teams, you can unified in a single security, look&feel, notification portal (and for the end-user it is seamless).
Django was developed with other objectives like reusability and pluggability, which it does an excellent work. But I don´t see any many Django portals.
So if you are looking to develop a portal using "micro-front" (term for web pages as micro-server is for back systems) using OSGi standard for many different system, go for Liferay. Django is more for monolitic systems.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I want to start web developing with java. I don't know how to start, what to learn,
or what is the best web framework to learn and use. Help me out?
I assume, that you're only new to web apps and not to Java itself.
For a starter, I can recommend the Apache Wicket framework for the front end. Their web site is full of examples, the mailing lists are a great place to get started, and Wicket in Action was an enjoyable read.
If you want to work with Java Server Pages (JSP), then you should definitely also include Java Server Faces (JSF) which make working with JSPs a lot easier. I can't advocate any good books to you as I went for web tutorials mainly. You might want to have a look at Apache MyFaces.
For the business logik, I guess the standard is Enterprise JavaBeans (EJB). I liked Mastering Enterprise JavaBeans 3.0. An older version of the book is available for free at TheServerSide.com. You should avoid EJB versions older than 3.0, because they are a PITA!
A separate part of the EJB 3.0 specification is the Java Persistence API 1.0 (see, e.g., Apache OpenJPA though the documentation is patchy). Other frameworks that support JPA are, e.g., Spring or JPOX (now being called DataNucleus).
Finally, if you want an application server for testing, there are JBoss by RedHat, SUN's Glassfish and Apache Geronimo (I preferred the last one, but you may have noticed my preference for Apache projects already ;-))
Good luck!
Well if you do not know much about Java, then first I suggest going back and getting your foundation in Java strong first (cause after all JSPs are java code embedded inside HTML), then proceed to learning about servlets and then move on to JSPs.
As far as learning JSPs is concerned, I would suggest buy a book, Head First Servlets and JSP is pretty good book.
Head First Servlets and JSP
JSP Tutorial
Getting Started with Web application - JSP/Servlet
I think Grails is a great way to get started. You can use the scaffolding to get started quickly, which allows you to dip down into the more complex aspects of Java web development at your own pace. I recommend you watch this screencast to see what you think.
This is a big subject and you will need to learn a lot.
I can recommend first learning Java very well.
Head First Java - http://books.google.dk/books?id=5VTBuvfZDyoC
The Java Tutorial - http://java.sun.com/docs/books/tutorial/
You will need to be very proficient in Java, as most framework documentation expect this of you.
When you have those under your belt, you are much better equipped to determine which framework is best for you, as that very much depends on which facilities you actually need, and which you do not have any use for.
The WEB4J tool is likely worth a look.
It has a much smaller number of classes in comparison with other tools. It is "full stack", so it helps you build all parts of your web app. Thus, you don't have to learn several different tools - just one.
A college instructor related to me that he felt it was "almost perfect" for his students, since it was at just the right level, and didn't hide things behind complicated abstractions - it was plain to see how all the parts worked together.
If you know java you can always start reading this book, https://secure.manning.com/books/deshmukh It will give you the basic foundation for java web development.
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 5 months ago.
Improve this question
I just graduated last year and I landed a job in the CRM space, specifically with Salesforce.com and its respective platform. My problem is that there are 2 languages used to do things on this platform one is relatively similar to java and is OO the other is a web-development language similar to js, but not quite. I come from a java background.
I have had limited practice with web development in the past and was always interested in it but found it difficult.
Now that I have been thrust into this world I'm finding it hard to complete tasks simply because things do not function the way I am used to in the OO world. I'd write code that would compile, test and get aggravated when things simply do not function as expected!
What do you guys suggest would be best for me to read and comprehend in order to transition my OO thinking into web-development thinking.... I'm thinking I should learn things such as 'states, MVC etc etc.' but just don't know where to begin...
Thanks for all the help!
If you mean Object Oriented with the shortcut OO I have to disagree, because most web development languages are in fact object oriented (and you really shouldn't switch from a object oriented to a procedural server sided programming language). So what you of course need is understanding of your server sided language, be it PHP, Java, Ruby or whatever and that all of them in the end just generate some form of String output (which usually HTML). So you should be aware of all the technologies and how they interact (e.g. HTML, CSS, JavaScript/AJAX, your server sided language framework and so on) and have a understanding of how the transport protocol (meaning mainly HTTP) works and what the disadvantages/advantages are.
If you already did more OO development you should at least have heard about MVC which is (with some adaptions to HTTP being a stateless protocol) probably one of the more important patterns to transfer into and use in the web dev world.
It sounds like you are having trouble getting started with Apex and Visualforce, the two technologies used for development on the Force.com platform.
I'd recommend reading through the developer.force.com site. In particular check out the tutorials.
As far as object oriented development with Apex goes, start by reading Object Oriented Apex - Practical Usage.
It might also be worthwhile to cruise through the message boards and see what questions other people are asking. The community is pretty active. If you have specific questions, you can ask them or stackoverflow.
In my experience, working on web projects instantly reduces my productivity by 50%. It takes me twice as long to get something working in a web project compared with a compiled executable program.
You're working in mutliple languages that interact in ways that you need to control in a very specific way. Your mindset changes depending on if you're writing code for the client-side, or server-side. (Some of this goes away if you're doing Google's Web Toolkit coding).
I won't even go into the added difficulties of debugging web based products when compared with debugging a typical executable.
Most of the langauges do support some form of Object Orientation, and when they don't, typically developers will separate functionality into different files based on Object Oriented techniques. I think you'll find that knowledge will still apply.
Web development fully embraces OO if used with frameworks like .NET and JSF.
You need to start thinking in terms of web application logic and behavior. The OO concepts are there to help you and be your tools.
If you mean client side languages like Javascript/action scripts. Try Dojo framework for javascript development, it has a great model using an OO approach.