Category Archives: .net

Amethyst from SapphireSteel: Develop Flex in Visual Studio, an alternative to Tofino

Not long ago I looked at an early preview of Ensemble’s Tofino, an extension to Visual Studio for developing Flex applications that target the Adobe Flash runtime. It was disappointing, though I’ve been assured that an improved build is in preparation. Ensemble had better be quick: I’ve just been informed of an alternative called Amethyst, from SapphireSteel software, creators of the Ruby Visual Studio extension Ruby in Steel. Here’s what I know so far about Amethyst:

  • ActionScript and MXML editing and project management
  • Installs into commercial editions of Visual Studio or the free Visual Studio shell
  • Initial beta of free personal edition available next week
  • Planned for the 2nd quarter of 2009: commercial Professional Edition with drag-and-drop Flex/AIR visual design environment, IntelliSense and graphical debugging tools
  • Can integrate with Ruby In Steel to create a multi-language Visual Studio solution with Flex at the front end and Rails at the back
  • Amethyst Personal will remain completely free

All sounds good; and Ruby in Steel is well-regarded so this is worth watching out for if you have any interest in developing for Flex in Visual Studio.

A high quality Visual Studio design tool for Flex would help Adobe gain adoption for Flex and AIR among Microsoft-platform developers.

Embarcadero RAD Studio 2009 is done

Embarcadero / CodeGear has released RAD Studio 2009, which includes Delphi 2009, C++ Builder 2009 and Delphi Prism. Note that Prism has its own IDE, which is actually the Visual Studio shell; this is the new take on Delphi for .NET that targets Mono as well as Microsoft .NET. You can also install Prism into an existing Visual Studio installation.

Looking at the UK prices, RAD Studio starts at £979.00, whereas Delphi starts at £549.00. Upgrades are much cheaper – less than half the price in some cases. The message seems to be: get RAD Studio if you think you might need more than one of these three products.

I’ve been asked whether the upgrade to Delphi 2009 is worth it. I have no idea, of course, since it depends what you need it for – though if you need Unicode I’d have thought it was worth it for that alone. I do think it is the best so far in the post-Delphi 7 series. Personally I prefer it to Delphi 7 as well; though check Mason Wheeler’s comments to a previous post for a contrary view. Vista compatibility is another advantage, though you can hack this in any version of Delphi. I doubt that Windows 7 will be much problem here; it is close to enough to Vista that the same stuff should work fine.

From the archives: Mark Anders and Scott Guthrie on ASP+

My editor at The Register asked me if I had any interviews that would be fun to dig out for a retrospective piece. This one is from September 2000, shortly after the announcement of the .NET Framework, where Microsoft’s Mark Anders and Scott Guthrie talk to me about ASP+, the name for ASP.NET when it was in preview.

Listening to the whole interview was a little frustrating, because most of the time I asked questions that were interesting at the time, like the relationship between ASP.NET and COM, but not so much now. I was reminded though that Guthrie gave an impressive demo of what we now call AJAX, where updates to a web page are processed on the client, and described to me how it worked.

The pair also enthused about hosting Windows Forms controls in the browser, one of the .NET ideas that did not really become practical until the release of Silverlight. The full WPF (Windows Presentation Foundation) also works well in the browser, but most web developers rule it out because it is Windows only.

As it turned out, AJAX might never have taken off without the work of Google, while Silverlight now looks like a reaction to Flash. I suspect that Microsoft found it difficult to evolve these ideas into full products because it clung to the idea of a Windows-centric Internet, where Windows rather than the browser is the rich client.

Guthrie is now Corporate VP, .NET Developer Division at Microsoft, while Anders is at Adobe where he has been working on a tool for the Flash platform called Catalyst, previously known as Thermo.

Develop for Adobe Flex in Microsoft Visual Studio – or maybe not

News from the Adobe MAX conference this week in San Francisco: Ensemble has developed an add-in for Visual Studio for Flex development, code-name Tofino. It’s currently in beta and available for download. Flex is Adobe’s developer-focused SDK for Flash applications.

I installed it this morning, and so far it does not impress. There is zero documentation (just a few links to the standard Flex docs on Adobe’s site), and it lacks even MXML Intellisense, let alone a visual designer. When you go to project properties, there is nothing to configure. The toolbox is also empty. On the plus side, it successfully invoked the Flex compiler to build the project, and managed to open it as a static file in Internet Explorer when I clicked Debug. I’d prefer an option to use Visual Studio’s built-in web server for debugging. There must be more to it than this; then again it is advertised as a beta which is meant to mean well advanced (ha ha). I suggest sticking firmly with Flex Builder for the time being.

Adobe has largely ignored .NET in its Flex and AIR technology, though it does support SOAP. I am not sure whether this is caused by aversion to Microsoft, or an assumption that Microsoft developers will use Microsoft technologies like Silverlight or Windows Forms, or a bit of both. Integration with Visual Studio and server-side .NET could be significant for Flex adoption, though it would be better if Adobe itself were doing the add-in.

You can see the same thing happening on Microsoft’s side, with a half-hearted Silverlight project for Eclipse (which only works on Windows), or the well-regarded Teamprise which integrates Eclipse with Visual Studio Team System. In both cases Microsoft keeps itself at arms length, which does not have the same impact as in-house support.

There are always concerns about the quality of third-party applications. I am sure Adobe itself would not have put such an inadequate preview up for download, as Ensemble has done for Tofino.

Code for Mac Cocoa in Visual Studio – surprised to see this?

I grabbed this screenshot from a preview just installed:

Cocoa app in Visual Studio

It comes from Delphi Prism, a new product from Embarcadero/Codegear which lets you code for .NET using the Delphi language, an object-oriented version of Pascal. The product is not as new as it first appears. It is based on an existing product from RemObjects, called Oxygene, which it now replaces.

Here’s the story in a nutshell. 2003: Borland, the company which created Delphi, decides (rightly) that .NET is here to stay, and releases Delphi 8, a pure .NET version. Nobody wants it, because it has no advantages to speak of over Win32 Delphi (which is faster), or C#, which is the Microsoft .NET language.

At that time some voices muttered that what Borland should do is to integrate Delphi into Visual Studio, rather than doing its own .NET IDE.  One was Marc Hoffman at RemObjects, only he did more than mutter: his company developed its own implementation of Delphi Pascal for Visual Studio, called Chrome.

Borland soldiers on with Delphi 2005, which does both .NET and Win32 in a single IDE. Developers are happy to have a new Win32 Delphi, but most still don’t see the point of the .NET stuff. Further, Delphi 2005 is buggy; many stick with Delphi 7. Next comes Delphi 2006: more of the same, but less buggy.

There’s a couple of problems with Delphi’s .NET support. First, it is always out-of-date compared to Microsoft’s .NET tools. Second, it has component library schizophrenia. There’s VCL for .NET, based on Delphi’s component and GUI library, but that’s not compatible with .NET components built for Windows Forms. There’s Windows Forms, but that’s not compatible with existing Delphi code. Borland decides to deprecate use of Delphi .NET with Windows Forms. This is really for VCL developers, it says.

Next comes Delphi 2007. Nice product, but where’s .NET? Gone. Nobody seems to mind [and it turns up later in RAD Studio 2007*]. Delphi 2009, gone again. But now there’s Prism, and it is a complete U-turn. Forget VCL.NET. It uses standard .NET libraries, runs in Visual Studio, supports Windows Forms, ASP.NET, WPF, and soon Silverlight. Oh, and it’s based on what that other guy did back in 2004, with some Borland Codegear Embarcadero technology thrown in: dbExpress database framework, client support for DataSnap multi-tier applications, and the Blackfish pure .NET database engine.

Very good; but there’s still that awkward question: why not use C#? The answer, I guess, being either that you love coding in the Delphi language, or you want to use one of the Delphi-compatible libraries.

Or that you want to use Mono, which of course is what enables those tasty Mac options in the New Project dialog above. You can also use C# with Mono – possibly you should, since it is Mono’s core language – but in Prism it comes nicely integrated into Visual Studio. Well, somewhat nicely. In practice there are a few extra steps you need to take to get it working. The recommendation is to run Visual Studio in a VM on a Mac, since Windows cannot run Cocoa applications. And you’re going to be using Apple’s Interface Builder; there’s no GUI designer in Visual Studio itself.

Hardly enterprise-ready then; but still an intriguing development.

*Added correction thanks to John Moshakis’ comment below.

Microsoft’s new .NET logo

One thing I forgot to mention from PDC 2008: the new .NET logo:

Note the visual link to the Silverlight logo; the ribbon (I may be reading too much into this); and the soft brushwork that is meant to evoke “designer” as well as “developer”.

The .NET part has changed from lower case to upper case. This was the old logo:

 

Since as far as I’m aware Microsoft has always preferred .NET to .net or .Net (except in the logo) I guess this makes sense. Must remember to type it that way.

C# 4.0 goes dynamic

Anders Hejlsberg is explaining new features in C# 4.0, a future version, at Microsoft’s PDC. The big new feature, he says, is support for dynamic typing. Currently C# uses static typing, which means that when you call object members like methods and properties, the compiler checks that they exist or raises an error if they do not. By contrast, with dynamic typing you can call any old method or property, and they are not checked until runtime.

C# 4.0 will support dynamic typing through a new static type called “dynamic” (this raised a laugh at PDC). In other words, if you declare a variable as dynamic:

dynamic obj;

then you can call what you like as if it were a member of obj, and it will be resolved at runtime.

Hejsberg showed in his demonstration how this simplifies interop with other dynamic languages like JavaScript or Python.

Other new features are named parameters and optional parameters. This is a big win for COM interop – automating Microsoft Office, for example, from C# has always been painful because COM was designed to support optional parameters. C# got round this with an ugly hack “ref.missing”. All gone in C# 4.0.

Technorati tags: , ,

Hello Windows Azure

Ozzie has made his big announcement here at PDC 2008. Windows Azure is, he says, Windows for the cloud; a “web tier” offering that runs on Microsoft’s own datacenters. The basics: develop a web service in Visual Studio, deploy it to Azure. You can test and debug using a local Azure server. The client for Azure apps can be anything that can call a service – web app, Silverlight app, Windows app. Your Azure apps can call upon a set of other services many of which are already familiar. For example, the database is SQL Services, formerly called SQL Data Services. Workflow can be managed with Workflow Foundation (WF). For identity and access control, there will be an Active Directory connector, or other options (more on this later).

Note that Azure is a platform for hosted applications, written in .NET but eventually with an option for native code, rather than a VM running Windows in the manner of Amazon’s EC2 service. Thus, Azure has more in common with Google App Engine than with what Amazon is offering. Microsoft’s slides also show Sharepoint, Live Services, and Dynamics CRM as part of the Azure platform.

Microsoft will compete on things like the scope and ease of use of its platform. Integration with Visual Studio and Active Directory should make it relatively easy for Microsoft platform developers to start experimenting with enterprise apps hosted on Azure. Business model not spelt out yet, but the assumption is that Azure apps will scale seamlessly and on-demand.

Technorati tags: , ,

PDC 2008: Microsoft attempts to remake its image

There are two big themes at Microsoft’s Professional Developer’s Conference, just getting under way here in Los Angeles.

One is cloud computing. At this morning’s keynote, Ray Ozzie and others will present Microsoft’s cloud computing strategy. If it’s right that IT is moving inexorably into the cloud, this could be make-or-break for the company. Truth is, despite huge number of users for things like Hotmail and Live Messenger, Microsoft is not perceived as a web or on-demand computing company. That space belongs to others, like Google or Salesforce.com. Further, Microsoft has a problem that those companies do not have: how to keep its partners happy while embracing a computing model that may severely reduce their role.

The other is Windows itself. Vista’s image is tarnished: the wow started badly, and although the OS itself now works better than it did at the launch, its negative perception is beyond rescue. Windows 7 is Microsoft’s next opportunity to generate some consumer and user enthusiasm for Windows, and to stem the flow towards Apple. Tomorrow is Windows 7 day.

We’re also going to get insight into the future of key technologies like .NET, the next version of C# and Visual Studio, the Oslo modeling platform, Microsoft’s plans for identity management, and plenty more.

I’ll be blogging and tweeting as I can during PDC. I’m also keen to know what you think, whether or not you happen to be here in LA (the keynotes are being streamed over the Internet).

Technorati tags: , , ,