My Drunk on Software Interview
Back in February, I met up with James Ward and Jon Rose for a Drunk on Software interview. We enjoyed some good beer and had a great conversation about SOFEA, open source and RIA. See larger video here.
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 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.
Back in February, I met up with James Ward and Jon Rose for a Drunk on Software interview. We enjoyed some good beer and had a great conversation about SOFEA, open source and RIA. See larger video here.
Posted by Wayland Chan on April 07, 2009 at 04:01 AM MDT #
Component development is dead? Interesting... I remember when 2 years ago it was the future. I am taking note -- I am just not crystal clear about the alternative. Sounds like I need to dig out the InfoQ article.
I enjoyed the banter around PHP. If it ain't broke, don't fix it. I used ColdFusion for years and abandoned it for more Java oriented pastures largely because I didn't feel the technology had the sophistication to handle complex problems. Then recently, I saw some nice ui done with CF and some RIAforge packages and had renewed interest. Maybe CF+REST is the next SOFEA implementation?
I am glad you mentioned the "pop" comment. Having worked on Seam+JSF recently, I was disappointed at the lack of pop. It was fairly straight forward to customize and has lots of widgets with nice features like drag and drop, and even looks nice, but it seems slow to me. Click, wait a second, then transition... Uhm... On a LAN, this pales in comparison to an old fashioned CF front end... Go figure. I am hoping that JSF2 makes some giant improvement, but am also considering experimenting with Seam+GWT (or Seam+Flex).
My latest interest is Scala... I have heard that Java is dead for years and didn't quite get it. Sure, Groovy looks very interesting, and I have used it, but I still didn't think it replaced Java -- more of a complement. And then I discovered Scala. Unfortunately, it is still young, and the tooling shows it, but I earnestly believe that Functional + OO is the next big thing, and Scala is a natural evolution for us Java programmers (much like how many of us evolved from C++). The reduction in line count, overall simplicity and power of the language -- it is hard to explain, but definitely is the one to watch for me.
Big fan of your blog. Cheers!
Posted by Logan Hutchinson on April 07, 2009 at 05:34 AM MDT #
It's good to see such a conversation take place. It's really refreshing since it's hard to find a few 'Geek's that are willing to sit down and talk about these idea's and not go into a Flame war.
I also 100% agree with your point about component based web applications are pointless. i.e., JSF or Wicket. I still believe that web based frameworks have a long way to go.
Matt, you look like you're a hardcore drinker. :D
Richard L. Burton III
Posted by Richard L. Burton III on April 07, 2009 at 05:41 AM MDT #
Posted by David L. Whitehurst on April 09, 2009 at 02:48 PM MDT #
Posted by David L. Whitehurst on April 09, 2009 at 04:03 PM MDT #
Hello Matt. I have just finished watching the video. What I found interesting is that I can see that ideas I previously had, are mentioned in the video (like the SOFEA way of developing webapps). They are "confirmed" by other people.
I think it is clear that SOFEA is not quite appropriate for some sort of web "pages". For example for Wikipedia or a newspaper, or a site providing content in general. Those are, well, pages!
As a software engineer my main concern, or what occupies my mind the most, is how to build "enterprise" applications which mimic or provide desktop-like responsiveness and functionality. Very importantly - these applications have to eliminate page refreshes as much as possible. I just want to state that of course NOT every application needs to behave like this. But rather, which is a good way to go WHEN you need to build a webapp with these requirements?
So, for some time now, I have decided not to use component oriented frameworks (like Tapestry, Wicket, JSF) because of the complexity they entail. It's not that I like simple things. The matter is that they put the complexity where it doesn't have to be.
I believe now that the best approach is to make things happen "where they need to happen". The code that needs to run in the browser does not have to be "pushed"/"controlled" by the server side. No, it has to be developed specially for that platform by UI experts (having knowledge of XHTML, CSS, Js and associated frameworks). And the UI collaborates with the server-side (which provides services). For this, obviously, request oriented frameworks are ideal (like SpringMVC or Struts2).
Regarding what a Java dev is now: well I quite agree that probably there won't be a "pure" Java guy in many shops going forward. This would make sense for people working in banks or in industries where there are a lot of business processes but not many UIs. For people building webapps, it will be necessary to understand XHTML, CSS, Js and other front-end tools.
Well to wrap up, the technology stack I chose for the last webapp I worked on was: XHTML, CSS, Yahoo UI (for page layout and widgets) and jQuery for DOM manipulation. This combined with Struts2, Spring and mySQL. Worked like a charm! The team composition in our case was 2 front end devs, 1 serverside dev.
Cheers, keep up producing this kind of material, it's very interesting.
Fabricio.Posted by Fabricio Breciano on April 17, 2009 at 07:24 PM MDT #
Posted by David Whitehurst on April 17, 2009 at 08:18 PM MDT #
Hi David, thanks for your answer, it's definitely valuable!
Perhaps what can be extracted the most from previous post is: I don't know, or it's blurry right now, which is the best "frontend/backend" combination. But, what I do know for sure, is that I don't think component based (therefore server-side based) applications are the way to go for more responsive "web20/RIA" applications. That's a big call I had to make a couple of months ago, and I am happy with my decision: it was hard for me to come to that conclusion at the time (I had to read and study a lot on the approaches and frameworks available).
Regarding "what can be done" of course probably we Java guys can do a lot in other areas other than Java, but what I found is that when you have time constraints and a real project with deliveries and challenging requirements it is better to utilize experts rather than try to do all (in this case I refer to UI devs).
I understand this matter is not "simple" to analyze but at least exchanging ideas is helpful!
Cheers,
Fabricio.Posted by Fabricio Breciano on April 17, 2009 at 08:35 PM MDT #