SharpDevelop 3.0 (Open Source .NET IDE) w/ WPF and XAML Support

SharpDevelop 3 which can be downloaded from build servers here is looking pretty good for revision 3 of my favorite .NET Open Source IDE and maybe even favorite overall considering it responds quicker that everyone’s .NET tool VS.NET.

The latest revision in builds just got the WPF and XAML tools in there. I tend to not use SharpDevelop for website development but do so for class libraries, apps and maybe forms development on occasion. This might help the layout side of things for the next gen of user interface development in .NET beyond just Expression.

One thing that has been apparent with IDEs as sometimes as they grow in size and scope and try to add more features, it is actually a slow down in some cases. I have been slowed from VS.NET 2003 to 2005. They are great tools but things start taking longer, it seems it should be the other way around.

When I need to just bust out a class library many times I do so in SharpDevelop because it is responsive and quick. I just hope they retain this speed. I unfortunately like to work on many projects at once so my IDE has to be smart about long processes (I curse you pending checkins! In 2004 when in beta VS.NET forced me to external IDE source control in Subversion and TortoiseSVN – much happier now).

XAMLPad right now is a pretty good quick development tools for XAML as well beyond just Expression and VS.NET Orcas Beta.

Be sure to try out SharpDevelop if you have not yet and develop .NET or would like to start. It is a great IDE and has some good extras like converting C# > VB.NET buffers whichcan be extended out to a service.

Advertisements

JavaFX RIA Test Added to Bubblemark RIA Benchmarks (Flex/Silverlight/Javascript)

Bubblemark has added a JavaFX version of his bubble animation test that spans now all of the RIA technologies out there. Bubblemark is a great site and has been a great site for comparing animation in the browser. Alexey Gavrilov has kept the site up to date on all versions of Silverlight since when it was WPF/E and it is a nice quick baseline test to check FPS performance across these new vector toolkits and scripting.

My results are very similar to Bubblemarks tests:

JavaFX — 14 fps
Firefox + Silverlight (JavaScript) — 56 fps
Firefox + Flex — 62 fps
Adobe AIR — 62 fps
Firefox + Silverlight (CLR) — 99 fps

Silverlight is not final and is quite light compared to Flex (I wonder if a vanilla Flash9/AS3 export has been done or if it would perform any different), but if Silverlight has a lead on FPS, where FPS is really success of any kit in RIA or vector, then it could be a rough battle. Flash/Flex is really far far ahead due to the browser penetration and the development community but the better performance is always a good indicator of possible success. Plus, Microsoft controls the desktop market and any “benefits” it might give their own kit which includes distribution and performance in preloading or caching.

3D Textured Silverlight and Silverlight 3D Engine

Sample Silverlight textured 3d in a pretty slick Vista Silverlight theme. It is a pretty impressive demo that is full screen app and a slight performance test with the 3d in it.

I would love for some kits like papervision3d, Sandy etc to be ported to Silverlight. There are some other early 3d works from bubblemark, a 3D engine recently released in early stages called Balder (source at codeplex), pageturns, and more but it is still pretty young.

Sample Textured Silverlight 3d Vista demo

3D Engine for Silverlight Alpha 1.1

But until Silverlight is available in the market it will hard to justify projects in it unless they are demos or technology show pieces. When it hits around 85% market availability and is finalized (it is currently 1.1 Alpha) it could be dangerous.

WPF Animation Kit

Darren David has posted a WPF animation kit to help bring it to Actionscript level of one line animation calls such as to packages like Tweener for Flash.  

Essentially this kit helps to take most of the quirks out of learning animation in WPF early on and making it more like Flash code animation which is a requirement for anything like games, random, visualizations that have no limitations.  I am happy to see this toolkit and more like it soon.  It may help crossover but it also provides a base level platform that allows developers to ride and make solutions in either platform with similar syntax (hrm like the Java to C# toolsets).  Good solutions are not only on one platform but this is only for WPF so far. Found via Zeh.

Programming Design Patterns

If you are not familiar with the Gang of Four (GoF) patterns, there are many books and sites on the subject. These patterns are a set of logical designs that have been successful and provide a bit of arichtectural building blocks when considering the design of a framework or class library in .NET, Java, etc.  They are largely influenced by OO and Java especially. Although these patterns you can see in many frameworks of today.  These allow a communication of design so that understanding can be embedded into certain modules of a system.

Here is the list of dofactory.com (GoF site):

Creational Patterns
  Abstract Factory   Creates an instance of several families of classes
  Builder   Separates object construction from its representation
  Factory Method   Creates an instance of several derived classes
  Prototype   A fully initialized instance to be copied or cloned
  Singleton   A class of which only a single instance can exist
  Structural Patterns
  Adapter   Match interfaces of different classes
  Bridge   Separates an object’s interface from its implementation
  Composite   A tree structure of simple and composite objects
  Decorator   Add responsibilities to objects dynamically
  Facade   A single class that represents an entire subsystem
  Flyweight   A fine-grained instance used for efficient sharing
  Proxy   An object representing another object
  Behavioral Patterns
  Chain of Resp.   A way of passing a request between a chain of objects
  Command   Encapsulate a command request as an object
  Interpreter   A way to include language elements in a program
  Iterator   Sequentially access the elements of a collection
  Mediator   Defines simplified communication between classes
  Memento   Capture and restore an object’s internal state
  Observer   A way of notifying change to a number of classes
  State   Alter an object’s behavior when its state changes
  Strategy   Encapsulates an algorithm inside a class
  Template Method   Defer the exact steps of an algorithm to a subclass
  Visitor   Defines a new operation to a class without change

We will be writing samples of each pattern and real world usage.  In actuality patterns are great and will make you understand programming architecture.  However patters at times can be overkill and more deep than necessary and possibly cutting off junior level understanding.  The dofactory rates patterns and their frequency of usage or usability. I think that patterns are very important but also a low entry point into code libraries is very important.  Simple interfaces to the logical blocks like patterns is common in frameworks like the .NET framework or Java runtime.

Hardware Rendering for 3D in Silverlight or Flash? And, Anyone Seen Our Director?

Hardware 3D rendering…

One thing that might be interesting in the heating up battle of Flash vs Silverlight is rendering.  Will Silverlight down the road provide hardware rendering support for 3d in Silverlight?  If so Microsoft will have a compelling offering.  Would Microsoft really want this with strong 3d capabilities built into a browser (goes against their console offerings, or maybe not in the end).

Photo Sharing and Video Hosting at PhotobucketWith 3d in the browser on two competing platforms that use hardware rendering we can make Raycasted donuts (yummy) oh and there could be a massive surge in the online 3d gaming market (especially the indie market).

It is up for grabs 

But the problem is that Silverlight will also need to support OpenGL for other platforms (that do not run DirectX).  If Adobe wants to win this maybe OpenGL 3d integration into flash will make it more cross platform.  I know the developers on the papervision3d lists are all looking forward to better than software rendering in flash.

Who’s Directing Director? 

But then this leads to another question, where does Director fit in all this, is it even part of the plan? Will Director and Flash merge to support this? Then what happens to the saturation of Flash in the market when it has more third party issues like Director? (and possibly less adoption director usually gets up to 50% to 60% saturation) 

What exactly happened to Director in the plans?

Director is still the de facto standard in 3d web games, more on this soon.  Director has been noticeably absent from all versions of Creative Suite (they are up to CS3 now without it).  Buzz about it was happening in 2004-2005 but last anyone heard is it is still planned for released. The one problem with the Director development environment and community is that the IDE is clunky, the libraries and script (Lingo) is not as advanced as AS3 (the addition of Javascript to the capabilities was great but much of the community was Lingo) and the community is a ghost town (loads of broken links and pay xtras, its stuck in 2003-4).  It was a great market before that, I think Adobe is letting it slip further and further away.  If they wait too long Microsoft might add hardware rendering to Silverlight and then game over in owning 3d gaming on the web. 

“Halleys Comet”

Here is a posting to macromedia.director.3d from Ritesh Banglani, Product Manager for Director and Shockwave. It was in response to a joke about him coming and going from the forum like Halley’s Comet…

Still here, guys. I cannot give an exact release date for the next version, but it will likely be towards the end of the year rather than the middle. The Shockwave Vista release (with DirectX 7) will be out sooner – in 6 weeks or so.

We will NOT upgrade the 3D feature set in the forthcoming Director release. Requirements like new platform support, performance and text engine enhancements are very urgent, and we don’t want to delay this release beyond 2007. However, we are committed to maintaining Shockwave as the leading 3D format on the web, and you WILL see 3D enhancements in a subsequent release. The move to DirectX 9 is a signal of our long term commitment to Shockwave 3D.

I know this is not the answer many of you are looking for. I appreciate your patience, and hope to keep the channels of communications open!

Currently this is the status of hardware supported 3d in WPF/E Silverlight. 

WPF fully supports hardware rendering but Silverlight (cross browser) does not.

What features are missing from Silverlight presentation markup that will be supported in WPF?

Some high-end, Windows-specific features of WPF, such as real 3D, hardware-based video acceleration, and full document support, will not be supported in Silverlight. This is done on purpose in order to serve the Silverlight cross-browser, cross-platform reach requirements that demand a light-weight plug-in. However, Silverlight will offer a uniform runtime that can render identical experiences across browsers on both Macintosh computers and on Windows-based computers.

Pageturn in Silverlight

Photo Sharing and Video Hosting at PhotobucketHere’s the first pageturn in silverlight.  It runs pretty smooth.