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.

[Microsoft] Day 2 Morning

Looks like I'm going to miss the good stuff today. There's a Company Store visit this afternoon at 5:00 - and they're giving us $120 in credit. Damn, apparently the games are pretty cheap there. They've also arranged for a Longhorn Demo during the company store visit. I did manage to get internet access with my phone and Ben's charger - so I should be able to do some real-time updating this morning.

I think one of the coolest things about this conversation is we're learning about how software is developed on a huge scale. These guys develop more software than anyone else and they do it on a very large scale. Can you imagine developing software for 90% of the computer users out there?! That would be nuts.

Oh boy - now we have an audience member ragging on the guy for Windows. He thinks it should be open source because OSes are going to be commodities soon. Personally, I don't think there's anything wrong with having a closed-source Windows. But I also don't see a problem with closed-source Java. What's wrong with companies making money? The main reason I'm in this industry is to make money - so what's wrong with the corporations doing the same thing?

.NET CLR Architecture

Started work on the Component Object Runtime (COR) back in '97. It was a small incubation project in the MTS group round metadata and compiler integration. Several API's still use the "Cor" prefix and engine DLLs are named MSCOR???.DLL. Apparently, this was all announced at the '98 PDC in Denver. Lots of code/marketecture names to follow: COM3, COM+ Runtime, NGWS Runtime, Universal Runtime (URT) and finally the Common Language Runtime. The big unveiling of CLR was at PDC 2000 in Orlando.

CLR Design Goals: Simplify development and deployment for classic Win32 programmers. Unify programming models, provide managed environment and support multiple languages.

The CRL is Language Neutral and has a commons set of features (i.e. Generics) guaranteed to be in all languages. Supports strongly typed languages, dynamic languages and functional languages. Because compilers are always targeting MSIL and the metadata, you get for free: shared object layouts and cross-language inheritance, exception handling, reflection, remoting and integrated tools for debugging and profiling. MS is very excited about having Jim Hugunin and IronPython on board and they expect to add even more killer features for dynamic language authors in the future. I wouldn't be suprised to see an IronRuby implementation in the next year or two.

CRL Version 2.0: More class libraries: collection classes, serial port, etc. Generics, 64-bit support (IA64, x64). RAD support: Edit and Continue, Just My Code, single-click deployments. SQL Server: fiber mode, integrated security, loading. Avalon, Indigo and Windows Longhorn.

Is this a boring session? Yes, but I'm sitting in the front row today, so it's a bit easier to pay attention and take notes. I'm doing AppFuse development for the most part and taking notes while AppGen tests are running in the background.

The CLR will be hostable in numerous environments: ASP.NET, VSTO for Office, DB/2 Stinger, Oracle 11g and SQL Server 2005. Oracle and DB2 are out-of-process with v1.1, SQL Server will be in-process with v2.0.

ASP.NET 2.0 by Scott Gu

  • ASP.NET 2.0 Application Services APIs: Membership, Role Manager, Personalization, Site Navigation (XML and CMS-based), Database Caching, Health Monitoring. These are all based on a new "Provider Model Design Pattern" that seems to be a set of interfaces that you can easily switch or implement yourself. Out of the box providers: Windows, SQL Server, Access (ha!).
  • ASP.NET 2.0 "Page Framework" Features: Master Pages (like Tiles, moreso than SiteMesh), Themes/Skins, Localization, Client-Scripting (using XMLHttpRequest). Holy shit - the guy said that they're testing their controls, particularly the scripting ones on IE, Safari and Firefox! That's pretty surprising to me.

VS 2005 has a new feature - where you don't need to have a web server installed, it'll work off the file-system. A new project doesn't have any files in its directory - which is definitely an improvement. VS definitely looks pretty slick - you can switch the "compliance-mode" of your page from IE6 to XHTML Transitional. When you switch modes, it changes the code completion attributes - so you'll get much more options for IE6 than you will for XHTML. It also has full code-completion for JavaScript - and the options are based on your mode of operation. Accessibility checking is also included - you'll actually get underlines for elements that don't have all the required attributes. Java needs an IDE like this soooo bad it's not even funny. Can you imagine having full page/HTML validation and code-completion based on doctype?!

Scott did a master/detail screen with VS and made it look damn easy. Most of the audience oohed and aawed. It's cool and all, but the code in the .aspx pages is a lot like JSF - there's hardly any HTML in the pages! It does seem to have much better support for skins and themes - you can easily change the look and feel right in the IDE and there's a whole bunch of built-in themes. The one thing I really like is the page-backing classes have a pre-init() method that can use to initialize properties. JSF really needs something like this. It's a shame that frameworks like Shale have to provide this and it's not a part of the core JSF framework.

ASP 2.0 Beta 2 will ship in the next month. Heh, Scott just gave a demo adding security and authentication in about 20 seconds - complete with Remember Me. There's actually a "Login" control that doesn't everything for you, including validation. The membership system (database) will actually get generated on-the-fly. He follows it up by creating a signup page that creates new accounts in under a minute. I can't really bash on this, writing authentication for Java webapps is definitely harder than it needs to be. Of course, if you use AppFuse, you don't have to write it at all. ;-)

Time to run and catch up with my sister - have a good weekend y'all!

Posted in Java at Mar 17 2005, 09:08:33 AM MST 10 Comments
Comments:

Well, Sun did open Java a bit more yesterday... http://blogs.zdnet.com/BTL/index.php?p=1159

Posted by E. Nielsen on March 17, 2005 at 04:56 PM MST #

Actually, JSF is like ASP.NET - not the other way around. JSF is stealing a lot of ideas from ASP.NET. Of course, Microsoft doesn't innovate or anything...

Posted by 131.107.0.78 on March 17, 2005 at 07:50 PM MST #

Microsoft does innovate. Look at the Office Paper Clip and Microsoft Bob. Innovation at its best.

Posted by FF on March 17, 2005 at 08:47 PM MST #

I can't agree that JSF is stealing a "lot" of ideas from ASP.NET. I tried both and ASP.NET could _hardly_ be compared to _any_ mvc (not only JSF) framework out there (Page.isValid() or BindingContext anyone?). I didn't tried ASP.NET in beta of .NET 2.0 but none of Polish Microsoft .NET Evangelists could say anything about being it more mvc oriented when I asked. Just my 0.2 euro.

Posted by Adam Kruszewski on March 17, 2005 at 08:53 PM MST #

Matt,

Java does have something that allows you to do "<em>X</em>HTML validation and code-completion based on doctype?!" ... XML Buddy.

Okay, it's not actually geared up to be an HTML editor, but as XHTML is just XML it handles it perfectly!

If I wasn't using SubEthaEdit's excellent web preview for prototyping web pages now, I'd definitely be using it!

Posted by Carl Fooks on March 18, 2005 at 12:16 AM MST #

Innovation comes in many forms. Yes, Paper Clip and Bob were bad attempts. But, name the first browser to incorporate XMLHttp into the object model that now makes the whole Ajax thing possible? Yeah, it was Microsoft when they introduced MSXML 2.6 (? can't remember the exact version). Only later was it added to the standards and supported in other browswers. Microsoft MTS stuff in NT 4 was out before the whole J2EE world supposedly reinvented the world with similar technologies. A lot of the new work in Java is borrowing from things that are in C# which borrowed from Java. Yea, MS grabs a lot from others, but you can't claim they do nothing either.

Posted by 131.107.0.78 on March 18, 2005 at 12:54 AM MST #

JSF directly steals ideas from ASP.Net Web Forms. JSF experts admit that. Check out the author of the JSF in Action book (Kito D. Mann) and see his comments about ASP.Net and JSF. I assume Adam doesn't know JSF or ASP.Net, or he simply denies the facts. JSF is nothing like other MVCs, it is already debutted as complimentary to Struts.

Posted by Anonymous Coward on March 18, 2005 at 10:31 PM MST #

re: "Actually, JSF is like ASP.NET - not the other way around" - in fact, both of them are simply conceptual clones of WebObjects (Apple), which is and ever will be the first component-oriented web framework.

Posted by fx on March 19, 2005 at 10:49 PM MST #

Actually if you (Anonymous Coward) would _read_ by comment (maybe I should use asterisks, not quotes) you would see that I didn't deny the fact that JSF is stealing ideas from ASP.NET (or WebObjects as fx stated) but I was denying that it steals *a*lot*of* ideas from ASP.NET. Simplyfying JSF, one can say that it is a 'component oriented web UI framework' and also a 'mvc framework'. ASP.NET is only 'component oriented' (ok, it uses front controller pattern but you must always write your controller code and also it makes separating view, controler and model harder than with usual mvc framework). JSF "borrows" only the component architecture part, which (imho) doesn't count as "a lot of ideas".

Posted by Adam Kruszewski on March 19, 2005 at 11:13 PM MST #

JSF steals (borrows) some ideas, but did not get the main fact: components + IDE. This pair is actually pushing ASP.NET.

Posted by Dan Novik on March 21, 2005 at 12:00 PM MST #

Post a Comment:
  • HTML Syntax: Allowed