We’ve discussed codapps.io before. It’s an MOOC (online course) that allows non-programmers to learn Java programming. The course uses mobile and Codename One as its vehicle to provide a learning incentive. The existing Codename One documentation and tutorials can be quite intimidating to a person who is a complete Java newbie, so this course is quite helpful in bridging that gap.
I think that learning GUI programming is probably the best way to learn programming, as it lets you "see" the results instantly and experiment. Mobile is the new GUI as it is the device that has brought computing to everyone and is deeply tied into our lives. Learning through a device that has such an emotional tie into our lives is far more effective than a "dry" server side tutorial.
The codapps.io MOOC focuses on typical apps created with the GUI builder and tries to smooth the entry into the lower level Java coding.
Another interesting tutorial for complete beginners is from Loke Hansen and we discussed it here. Hansen created a series of tutorials covering the process of building a game from scratch without any experience in Java. He explains a lot of complex details very clearly, and because this is a game, the course is both entertaining and goal-oriented!
We have a lot of documentation, but picking up a 900-page developer guide might be intimidating when you are completely new to Java.
Here are some helpful resources to get people who are completely new to Java started:
- Component gallery: shows the common components that are a part of Codename One in a visual index.
- Layout gallery: layouts are one of the hardest concepts to grasp in Codename One, this visual gallery covers the basic Codename One layout managers.
- JavaDoc: The JavaDoc is a standard "reference guide" to the Codename One API and what’s available in it. You can search any method or class by clicking one of the index files Developer guide.
- Demos: The Codename One demos, i.e., the Kitchen Sink, are a great place to start. You can create most demos by just going thru the wizard process by selecting New Project > Codename One > Demos > Name of Demo.
Stack Overflow is a good place to ask for help, but it can sometimes be intimidating because you need to ask in the "right way." That can be difficult when you don’t know anything. Try asking on this discussion forum. Notice that sometimes things get flagged as spam by the automatic Google filters. To avoid that, you should probably join the group before posting and use a verified Gmail account.
If you think that what codapps.io and Loke Hansen are doing is helpful and valuable, spread the word and let people know about them. There are many people of all ages who are curious about programming and these two outlets lower the entry bar into the programming world significantly.