NDC 2012 Giveaway @ NNUG Vestfold Meetup 9. May

That’s right! Thanks to the folks at Programutvikling, we’re going to be giving away a ticket to NDC 2012 at the next NNUG Vestfold meetup!

There’s gonna be frontend focus this meeting. I’ll be warming up the crowd with a session on “Forseti Driven Development”, and the main show is gonna be Marius Gundersen presenting “Building a 3D engine in Html5”.

More info on the talks, and the speakers on the meetup page.

Looking forward to it :)

Spread the word!

Yesterday, Einar Ingebrigtsen and I had a co-talk at NNUG Vestfold, titled:  “Sugarcoating your front-end, one ViewModel at a time“.

We had a great turn-up and a good Q&A thereafter. I think we got a few people to star thinking slightly differently in regards to how to treat web-pages more like web-apps. We pushed hard on the MVVM pattern and how that conceptually fits the way web, and web-apps work. KnockoutJS certainly is a framework I’m starting to really love, and I’m sure there are other out there ready for it. We also emphasized the need for well-tested JavaScript testing of your code, and everything that’s involved. JavaScript is still code! :)

It’s really a jungle out there, and there’s no lack of frameworks and solutions. There is one thing for sure though, and this is valid for all frameworks, they all focus on enabling Single Page Applications, and users are starting to expect that exact functionality.

Checkout the slides on slideshare. Please don’t hesitate to drop off a comment :)

NNUG Vestfold Meetup 29. Feburary

NNUG Vestfold Meetup 29. Feburary

Announcing NNUG Vestfold’s first meetup of 2012.

I’m pleased to get started with the first NNUG Vestfold session this year. Last year didn’t really turn out the way I expected, with a total of 1 meeting!

In an ongoing effort to push my comfort zone, I’ve decided to hold a session for this meeting.

After talking to a colleague of mine, my small talk suddenly became a 2-man-show!

Without further ado, I’d like to welcome you to my first talk: “Sugarcoating your frontend one ViewModel at a time” a co-session with Einar Ingebrigtsen.

Sign up here!

Bifrost – A little background

In this past year at work, we’ve been in the process of developing a new platform from the bottom up with new functionality. One of the goals was to move away from an old unmaintainable solution to a new maintainable solution based on expected coding standards, and of course to meet the business’ needs about scalability and rapid feature development. With an overloaded domain, responsibilities were mingling with each other and business rules and validation was all over the place. Based on our needs, we felt it was that CQRS was the way to go. CQRS has been the talk in the DDD community for a while, and this pattern was something we could really relate to. In comes Bifrost!

Originally a helper-project for Einar Ingebrigtsen, we decided to leverage and contribute to Bifrost as an open sourced platform for web-app development. At it’s very heart Bifrost adheres to CQRS and is taking it “to the next level” by delivering a platform to deliver rich web applications.

Basic archtecture with an MVC application frontend - from Bifrost docs

Because of the way Bifrost as a platform was conceived, it has evolved in parallel with the product we are building. As project needs arise, amendments are made in Bifrost. This enables steady, controlled development on Bifrost without introducing features (too far) ahead of time. Though this is a good way of driving the project forward, it isn’t building out all the aspects of Bifrost. On the plus side, the platform is well-tested, thought through, and works well (with some known limitations and needed improvements).

On the web aspect of things Bifrost supports ASP.NET MVC and works well with the framework. Validation and binding of commands is something that just works, and I’m sure it’s something that people will appreciate. The next natural step is to actually not depend on MVC, and build out the client-side aspect of the platform. For this Knockoutjs comes in handy.

Knockoutjs is a JavaScript library that adheres to the MVVM pattern, which can be traced back to WPF and Silverlight. This allows the view (html) and viewModel (data, behaviour, commands) to be separate, sharable pieces of code. What this gives us is a clear way to bind our Query data from the server to a UI, and allow commands to be fired back into the system.

Bifrost has its implementation of CQRS quite well done already, and with it you can go in and whip up a great app with what’s there now, but you’re going to get little, to no help in regards to client-side features. There’s a clear focus on developing for the client-side aspect of things as well, which will enable Bifrost as an application platform. It’s a great convention-based platform that can solve many business needs, and its future looks bright :)

I hope to write more about the different aspects of Bifrost in the coming weeks. Until then, here’s some further reading:

2012, how about this year?

2011 has been hectic, to say the least. Full of enriching life-experiences (personal and professional). I had a few goals for the past year: my health, family, profession. Some things worked out quite well, other things…not so well (so what’s new?).

A friend of mine is going on about his big hairy goal. It’s intimidating and inspiring. Here are some things I’m hoping to dive into this coming year:

Not necessarily in that order.

JScript Editor Extensions for Visual Studio

Microsoft have done a really good job by giving developers a great environment to do their work in; namely the Visual Studio suite with all its variants. This IDE’s intellisense is one of its strongest points, but anyone that’s tried to write javascript code has probably felt a bit lost.

Intellisense, brace-highlighting, current variable highlighting, code comments…all gone….until now!

Microsoft Corp has just released JScript Editor Extensions, a Visual Studio extension that enables all of the above, along with code outlines. I admit it’s nothing revolutionary compared to other well-established web-IDE’s, but it’s still great to have extended tooling support within Visual Studio itself.

Here’s a look at what the IDE looks like with bracing support and outlining. Notice the collapsed ‘complete’ and ‘success’ functions

Brace-highlighting, collapsible code

 

 

Head over to the Visual Studio Gallery and try out JScript Editor Extensions.