Matt RaibleMatt Raible is a Web Developer and Java Champion. Connect with him on LinkedIn.

The Angular Mini-Book The Angular Mini-Book is a guide to getting started with Angular. You'll learn how to develop a bare-bones application, test it, and deploy it. Then you'll move on to adding Bootstrap, Angular Material, continuous integration, and authentication.

Spring Boot is a popular framework for building REST APIs. You'll learn how to integrate Angular with Spring Boot and use security best practices like HTTPS and a content security policy.

For book updates, follow @angular_book on Twitter.

The JHipster Mini-Book The JHipster Mini-Book is a guide to getting started with hip technologies today: Angular, Bootstrap, and Spring Boot. All of these frameworks are wrapped up in an easy-to-use project called JHipster.

This book shows you how to build an app with JHipster, and guides you through the plethora of tools, techniques and options you can use. Furthermore, it explains the UI and API building blocks so you understand the underpinnings of your great application.

For book updates, follow @jhipster-book on Twitter.

10+ YEARS


Over 10 years ago, I wrote my first blog post. Since then, I've authored books, had kids, traveled the world, found Trish and blogged about it all.

Colorado JUGs

The last two nights I gave talks at the Denver JUG and Boulder JUG meetings. On Wednesday night, I presented AppFuse in the basic concepts meeting and Thursday I was the main speaker at BJUG. Both meetings were great and my presentations went pretty well. Denver had about 50 attendees and Sue Spielman gave a very informative talk on J2ME. To me, J2ME seems like the equivalent of Swing for the Desktop. Building mobile-friendly websites seems like an easier route - then you don't have to worry about how the phones differ. Maybe I don't know enough about J2ME - why should I write a J2ME app when I can write a webapp? To me, it seems that I should stick with what I'm familiar with - and if I do choose to get into the mobile space, websites would be the way to go. My phone (a T68i) was very helpful last week in San Deigo. I used it's internet access and go2.com to find directions to several locations in San Diego. I just told the website to "auto-locate" me, then I'd type in an address and voila - it spit out a list of directions. Bruce and James also wrote about the Denver meeting.

Last night was the Boulder meeting, where Scott Davis kicked it off with a talk on Struts. My AppFuse presentation could've been much better if I based mine off of Scott's. I do some live coding of a DAOTest and a DAO in my presentation - and I think the audience would've gotten a lot more out of it if I'd showed them how to develop Actions and JSPs with AppFuse. Oh well, that's what the tutorials are for. I also like showing the DAO stuff because it shows the power and simplicity of the Hibernate+XDoclet+Spring combination. It's pretty cool to mention that integrating Spring into AppFuse only took a few hours. During integration, I remember deleting 5 or 6 classes/files and reducing my LOC count by about 75%.

After the meeting, I talked to one guy who was interested in adding a Swing front-end to AppFuse. I told him it shouldn't be too hard since the dao and service layers are already packaged as JARs. From a Swing app, you could easily reuse the business delegates and DAOs to talk to a database. The hard part would probably be mimicing authentication and authorization. I'm guessing that JAAS could probably provide a nice standards-compliant solution for this. I'm sure Spring's RCP project could make developing this front-end even simpler. I also talked to Kris about helping with the WebWork version of AppFuse. Hopefully he can help me out and make that happen sooner than later. I'm still targeting the end of July for a WebWork/Sitemesh-enabled release, as well as lots of enhancements to IDE friendliness.

Both meetings where followed by beers and good conversation. Last night, the tavern we were at lost power after about an hour. That didn't stop us from spending another hour in the dark telling old war stories. Good times - thanks to all who participated!

Posted in Java at Jun 11 2004, 10:00:24 AM MDT 7 Comments
Comments:

You don't know how ignorant you sound in this post.

Posted by 66.167.118.198 on June 11, 2004 at 07:22 PM MDT #

Why? Because I don't know sh*t about mobile technologies? I'm the first to admit that I have a lot to learn. ;-)

I'm guessing that you're referring to how J2ME can be used for more than just interfacing with humans, i.e. on embedded devices and such to communicate with other devices. Any chance you want to help reduce my ignorance and not be anonymous about it?

Posted by Matt Raible on June 11, 2004 at 07:33 PM MDT #

Those tutorials cover quite a bit of ground. I'd be happy with even simpler tutorials, showing only Spring, Velocity, Hibernate, connection pooling, distributed caching, transaction management and patterns, and totally foregoing JSP, Tiles and other stuff that can safely be bolted on an application once the fundamentals are good.

Posted by Mike on June 12, 2004 at 11:46 AM MDT #

Mike - the good news is that I've already written simpler tutorials as part of the first chapter in Spring Live. The bad news is that I'm trying to keep it simple, so there's nothing on Velocity and distributed caching. Connection pooling is provided by the app server, so I don't worry about that. SiteMesh is used instead of Tiles, so that part becomes much simpler. In a later chapter, I'll be swapping out the JSPs with Velocity.

Posted by Matt Raible on June 12, 2004 at 02:05 PM MDT #

!I've done a bit of J2ME, and I can point out these reasons to use J2ME versus a website built for mobile phones: * J2ME gives you the option of creating a better user interface (just like Swing can give you a better interface than HTML). In particular, you don't have to go back to the server (slooow) every time you want to show a new page. * Optional packages (location based services in particular) can give additional functionality that websites have a difficult time duplicating. On the other hand, * Every modern phone has a web browser, not every modern phone (not even a plurality) has J2ME. Of course, the behaviour of browsers isn't as standard as it is on the PC. Anyway, I'm bummed I missed your talk(s)--I'm sure it was a good time. In the end, if you have built your back end app right, it should be possible to support both, right?

Posted by Dan Moore on June 12, 2004 at 03:02 PM MDT #

Why use j2me for mobile apps? Well, for the same reasons you'd use a thick client rather than a thin one. Webapps have many advantages over desktop apps, but also have a fair few problems. For a start achieveing even simplistic UI constructs in a webpage can be a pain (masked input fields anyone), and for some applications the in ability to push information to the client can be a real problem. I actually believe that in recent times many applications which would be better suited to a thick client have been shoehorned into a web app, often resulting in a hard to maintain moras of JSP and Javascript which can often result in a UI nowehere near as good as a desktop client.

Posted by Sam Newman on June 13, 2004 at 02:50 PM MDT #

Why write J2ME when you can write a webapp? I challenge you to write Tetris as a webapp with no javascript. ;-)

Posted by Will Gayther on June 13, 2004 at 08:44 PM MDT #

Post a Comment:
Comments are closed for this entry.