Showing posts with label SilverLight. Show all posts
Showing posts with label SilverLight. Show all posts

Monday, May 19, 2008

Netbeans 6.1 Vs Visual Studio 2008

Its been a while that Netbeans 6.1 has been released and I thought it would be a good time to update my previous comparison between Visual Studio 2008 and NetBeans 6.0. Netbeans 6.0 added major features and NetBeans 6.1 comparatively is a minor upgrade, but nonetheless added lots of new improvements. Visual Studio 2008 was also in beta at that time. In light of new improvements and changes, I thought it'd be good to have an updated comparison between the two IDEs.

We need to understand that each IDE has something better and makes the developer more productive. Also, please keep in mind that I'm not comparing .NET and Java here, but only 2 IDEs, so we discuss features that can be applied to both languages/platforms.

Feature
Netbeans 6.1
Visual Studio 2008
Comments
Supported Languages C/C++, Java, Ruby, Php, Javascript, HTML/CSS, JSP, JavaFX, XSL, WSDL, UML, Groovy, Scala, Prolog, Tcl C/C++, C#, VB.net, XAML, HTML/CSS, JavaScript, LINQ (Language INtegrated Query), ASP.net, XML/XSLT. Both Visual Studio and Netbeans are extensible and can support new programming languages.

VS2008 uses languages services through which VS supports languages like Ruby, Python and F#. These are not out-of-the-box though and are difficult to add to the IDE. You even have to pay some bucks to get those languages integrated with VS and different vendors sell configured IDEs for those languages.

Netbeans on the other hand has an excellent plugin system and finding and installing new language support is simple and easy. The plugin manager shows available plugins that support the new languages and anyone can create/install these new plugins free of cost.
Supported OS/Platforms Windows, Linux, Unix, Solaris (SPARC, x86/x64), Mac OSX (Intel, PowerPC) Windows and different versions of Windows Netbeans 6.1 can be installed and run on a host of different platforms. It's open-source and it's Java. So, it generally means it can run anywhere with the JRE installed. VS2008 on the other hand is only targeted towards the windows developer.
Code Completion Excellent code completion for a host of different languages and understands lot more language docs. Fast code completion, but less options at a time. Need to use arrow keys. Visual Studio 2008 has a snappier code completion compared to Netbeans 6.1. Code completion and hints speed has improved in 6.1, over previous versions, but still slower than VS2008.

VS2008 requires using the arrows to scroll through different parameters of methods while Netbeans shows all at one go. Thus, learning through Netbeans is better for newer programmers, who want to find the best method.
Source Code Editor Editing code is simple and easy. Provides different events when you right-click on the component and code can be written for that specific event. Editing is simple and easy. Switching between the designer and code screen is double-clicking the control Source code editing is equally good in both. Netbeans 6.1 has a better feature where it can highlight a variable that used at different places. So you can easily identify the lines at which the variables are used when you are writing code.

Refactoring code is slightly better in Netbeans and offers a lot more options compared to VS2008. Moving code is slightly better in Netbeans 6.1 than VS2008.

Visual Studio's code editing is lot more integrated across different types of projects. Netbeans still seems to be separate IDE for Java EE and Java SE or Java ME development. Like #region works on all projects for code folding, but Netbeans doesn't have such a common code folding (i.e. <editor-fold> doesn't work in all projects). 

Netbeans 6.1 has an excellent JavaScript Editor which is on par with VS2008's Intellisense JScript & AJAX Editor. The JavaScript docs integration in Netbeans 6.1 is better and code hints are better in Netbeans 6.1. Check this video to see the strength of the new JaavScript editor in Netbeans 6.1.
GUI and RAD Tools Netbeans Matisse, JSF Components, Database Application, Beans Binding, Excellent UML design tools, Mobile Designer, BPEL designer are some RAD tools not found in VS2008.

Java ME GUI development is excellent. Excellent device management in Netbeans 6.1. SVG support helps create great looking scalable mobile applications. Useful common components from Netbeans for MIDP.
WinForms, ASP Form designer are great. XAML visual designer, Database schema managers, VB-XML bindings, Vista UAC manager are some of the enhancements to the VS2008's RAD/GUI tools. Both IDEs are probably the best GUI builders and RAD tools. VS2008 Team System Database Edition has excellent database-code integration tools. LINQ code generators are another excellent feature in VS, not found in Netbeans. Netbeans plans to add similar features in Netbeans 6.5 and it makes more sense to add these features, since MySQL is now part of Sun Microsystems.

Visual Studio's VB designer was excellent and probably helped VB reach great popularity. Today Microsoft expects same with XAML designer which can import designs made in Microsoft Blend. Winforms and ASP forms are great as always, may be sometimes better than Netbeans. You can create the Ribbon UI of Office 2007 very easily using VS2008.

Netbeans until version 4 not much of a RAD tool, but today is probably the best RAD Java IDE out-of-the-box. JSF web app designer is great, maybe not be better than ASP forms, but its not behind as more JSF components are added. Swing Application Framework and Database applications are awesome and you can build amazing dB driven apps in minutes. Check out the video and you'll realize how?? Netbeans 6.1 features an even better Mobile Application Designer for JavaME (J2ME), which can design screens and play with SVG menus. Haven't seen a simpler mobile app designer ever, with nice flow designer. RAD tools are something netBeans 6.1 scores higher than most other IDE
Compiler /Loader / Debugger Newer Lexer makes faster runtime compilation, JavaScript debugger with Phobos support and jMaki. GWT is also supported. Parallel compilation on multicore systems, Standard Template Library (STL) for C++ devs to use .net framework, Web Services hosting for WCF-based apps.

Debugging AJAX scripts and AJAX components within ASP.net pages are excellent.
Multicore compilation in VS2008 does improve performance by a good 25-30% over previous versions on C# apps. I wonder how much of multi-processors or multicore, the java compiler uses. Really couldn't compare compiler benchmarks since they are different languages.

Visual Studio 2008 brings integrates web services hosting, which earlier had to be done separately by the users. netBeans has tomcat 6 and glassfish v2 integrated, so VS2008 comes on par with netBeans 6.1.
Netbeans 6.1 still takes about 30sec to start whereas VS2008 starts in 20sec. But for Netbeans it really depends on how many modules you've installed. I've seen Netbeans load within 20s with only the basic modules installed.
Profiling NetBeans 6.1 has a profiler integrated and a really good one too. VS2008 improves load testing capabilities by providing a multiple machine graph view that brings together the test results, performance, and health of all the machines under test. A new area in VS2008 is the ability to drive system performance tuning and diagnostics through the VS test tools. This enables developers to run profiling during tests.

Profiler is great addition to Netbeans. While coding you can experiment and choose the best algorithms/implementations by checking memory, processes through the profiler. A load analyzer like Mercury's LoadRunner is a highly specialized 3rd-party tool, but people who want simple stuff should really be happy with the Netbeans profiler.
Designing / UML UML, BPEL, Flow Designers for Mobile apps and web apps. Not much Designing tools, but Visual Studio 2008 Team System does have some improvements. Team System does have nice code tracking features. Netbeans scores pretty high on this one. Although you can always use 3rd-party software, but its great to have it in the IDE itself. VS2008 is not much of a software designers tool, although the Visual Studio Team System is a great improvement. IBM's Rational is great, but then for the money-saver there's Netbeans UML tools.

Code comparison and tracking isn't available in Netbeans. VS 2008's Code Metrics does an excellent job at analyzing code and reporting about code. Excellent stats can be found through Code Metrics

Testing/Maintenance
& Collaboration
CVS, Subversion and Mercurial are integrated in Netbeans 6.1. Unit Testing tools have slightly improved, Source Control System is added to Team System Unit Testing is excellent in Netbeans compared to VS2008. Ant tools are useful, but VS2008 creates scripts in Team System that can do nearly similar things.

CVS, Subversion and Mercurial make Collaboration Tools in Netbeans better than VS2008. Clearcase is also available as a plugin for Netbeans.
Installation Size & Price Netbeans 6.1 has increased in size, but is very small compared to VS2008. Netbeans 6.1 available with different bundles.

Netbeans can be downloaded free online or you can request a free DVD to be shipped.
Visual Studio installation size is huge and so is the size for the setup program.

It is also costly. But developers can try Express Editions free of cost to get the basic IDE.

Not much here to say, but VS2008 has .Net Framework 3.5 integrated with it and is a requirement. Also SilverLight CLR is added. A lot of other required libraries for WPF and WCF, which makes it larger in size.

After MySQL buy, we also have Netbeans 6.1 bundle available with MySQL. Netbeans 6.1 bundles are also available with JDK 6.
Misc Specialities Visual Studio 2008 has a something called "Visual Studio 2008 Shell". Its just like the Netbeans RCP or Eclipse platform. It allows developers to create their own IDEs based on the platform and we know how successful eclipse has been to do that. Read here for the discussion

Netbeans 6.1 also has Ruby on Rails Template for making quick blogs. Netbeans 6.1 has derby as an integrated database (since JDK 6 provides derby out-of-the-box). It means you can have databases embedded within your application and no requirement for an external database server like SQL Server or MySQL. Netbeans 6.1 is ideally suited for creating Web services. Axis2 is supported for Web Services in Netbeans 6.1. Netbeans also allows faster creation of apps that make use of web services. Developers can simply drag and drop operations under those services into a POJO, Servlet, JSP or RESTful web service and the IDE will generate all the plumbing code to access those services.

VS 2008 does not include specific tools for editing WCF's XML configuration files. After Microsoft Blend import, web designs cannot be exported back to Blend.

The performance improvement in Netbeans 6.1 is a welcome change. Performance has improved as much as 40% in Netbeans 6.1 compared to Netbeans 6.0. Visual Studio on the other hand has slowed down over the years starting from VS.NET.

Both the IDEs still need to improve a lot more on RIA development with the focus slowly shifting towards a more desktop looking web. Expression Blend is moving pretty good for Microsoft and is an excellent tool for XAML/Silverlight designing. On the other hand, Netbeans isn't doing enough to support JavaFX Script yet. With all the talk about JavaFX at JavaOne 2008, we hope to see JavaFX come better in Netbeans 7!!

Monday, March 17, 2008

Flash Not Good Enough For Steve Jobs, But Windows Mobile Wants It

When Steve Jobs said that Flash wasn't good enough for the iPhone, it was kind of odd. Odd because a lot of devices from other handset manufacturer flashlite including Nokia, Sony Ericsson are easily able to display Flash using FlashLite. But here we are, Steve Jobs saying the iPhone needs a better, "special" version of Flash, just like YouTube site for iPhone.

Soon after that, I was speculating that Apple was going to use Silverlight on the iPhone and Microsoft was pitching a good deal to Apple. But today Microsoft's Windows Mobile team has a surprise for us!! Microsoft has licensed the latest version of Flashlite v3 from Adobe to be installed on handsets with Windows Mobile. The most current version of Flash Lite, which is developed on Adobe Flash CS3, can' display pages built using Flash 9, but it works with sites created using older versions of Flash.

The announcement comes as a surprise because Microsoft has been building its own version of a Flash competitor called Silverlight. Silverlight is under heavy development for the mobile devices, but Microsoft still managed to win Nokia to install Silverlight on its devices. I'm not sure how Nokia would be feeling with this development and I guess they must be thinking some delay in the shipping of a Silverlight for Mobiles.

Either ways, how can be Flashlite good enough for Windows Mobile when it isn't good enough for iPhone?? I guess Steve Jobs always needs special treatment!!

Tuesday, March 4, 2008

Nokia To Ship Silverlight on Mobiles

Nokia announced today that it will be installing Silverlight on S60, S40 and Nokia internet tablets. Silverlight is Microsoft's technology to create rich internet applications (RIA) similar to Adobe's Flash. By adding Silverlight to its phones, Nokia thinks that it can get a lot of developers to start off on its S60 & S40 platforms. Nokia already ships Flashlite with its mobile phones which is used to run applications made in Flash and Silverlight will be a direct competition to Flashlite.

Microsoft is pushing Silverlight as the next generation platform for developing rich internet applications and has promised it to be completely cross-platform and available on a host of different platforms including Linux and Mac. Today's announcement from Nokia proves that Microsoft is truly committed to make Silverlight applications usable from a host of devices.

Earlier, when Microsoft created the .NET framework it had mentioned platform-independence as one of its feature. Although this was true from a programming language point of view, Microsoft does not release the full .NET Framework Runtime on all platforms. Other projects like Mono help run .NET apps on Linux. On the other hand, although Silverlight is based on .NET it uses a different CLR (Common Runtime Environment). Silverlight CLR is like a browser plugin and is showing progress on becoming true cross-platform technology.

Silverlight is based on C#, which makes it easy for developers with knowledge of C# to move to programming mobile RIAs. Also, Microsoft is ready with Silverlight v2.0. All of this just goes to show that Microsoft is moving really fast to capture the mobile phone market. It still has a lot to do with Silverlight and one of its current missions would be to get other handset manufacturers on the Silverlight bandwagon.

The mobile internet world is really hotting up with Google also bringing Gears to mobile phones. I'm sure Adobe will add new features to Flashlite in the coming months. If you are a web developer and want to get your apps into mobile phones, this is your time!!

Tuesday, January 15, 2008

Download Expression Encoder For SilverLight

Although everyone in the world is looking at the MacWorld 2008 and drooling at the MacBook Air, archrival Microsoft also unveiled its future technology Silverlight's creation tool. SilverLight has been touted as an alternative to Flash's flv. Flv or Flash Video is the most popular video streaming technology on the internet with popular sites like YouTube, Google Videos, Metacafe and the rest using it.

The Expression Encoder is used to encode content to Silverlight streaming format and can also generate Windows Media audio and video. It allows different options for encoding in variable bitrates depending upon the Internet broadcasting bandwidth and also allows encoding for Zune.

System Requirements:
Supported Operating Systems: Windows Vista; Windows XP Service Pack 2
Processor: 1.0 GHz with MMX or equivalent
Memory: 1GB RAM
Hard Drive: 350 MB
Graphics processor: Microsoft DirectX® 9.0-capable video card- Recommended support for Pixel Shader 2.0, with 256 MB or more of memory to support video preview. For example, ATI Radeon® X300 or NVIDIA® GeForce™ 5600 class equivalent or better.
1024 x 768 monitor resolution with 24-bit color
(Optional) Video encoding hardware acceleration cards to speed up encoding processes

From Microsoft's site:

We are pleased to offer Expression Encoder, formerly Expression Media Encoder, for download. If you are an existing Expression Studio or Expression Media customer, please enter your Expression Media (Windows) product key when prompted during the Expression Encoder installation to activate the software.

If you do not have a product key, you can download Expression Encoder and preview its functionality. This fully functioning version will expire 60 days after installation.

Expression Encoder is an advanced video encoding tool especially suited for generating content that takes full advantage of the rich graphic and interactive capability of Silverlight playback scenarios. You can also generate Windows Media video and audio that is optimized for other Web playback scenarios, or suitable for playback on portable devices, such as Microsoft® Zune™. You may run Expression Encoder in its rich GUI or with the command line.

Download 60-day trial

Tuesday, December 11, 2007

New Microsoft Download Center Powered By SilverLight

Microsoft has just revamped its Download Center and it looks sleek and gorgeous. It is still in beta and you'll have to go through a signup page. But the interesting thing about the website is that its powered with Microsoft's upcoming technology called SilverLight. So, when you go visit the site, you are first asked to install SilverLight (See below)

InstallSilverlight

SilverLight is touted as Microsoft's replacement for Flash, but still requires a lot of effort on Microsoft's part to make it cross-platform. Its speciality is video and animation and that is very well showcased on the new download center. The top banner on the page shows some nice animations and so does the search and menus for downloads. You can look below for the screenshot or experience after you get into the beta!!

Screenshot

Tuesday, September 18, 2007

Indian Film Giant YashRaj Films To Use SilverLight

I recently noted in my other post, that Microsoft's SilverLight could become a real competitor to Flash, but only if it is widely installed on client machines. That shouldn't be much of a problem for Windows, since Microsoft could provide an automatic update or service pack part for installing the SilverLight CLR. But another thing that will determine its success is video quality, and it'll be only known to the general public when the first Expression Encoder is released.

Silverlight uses Windows Media Video which incorporates the Society of Motion Picture and Television Engineers’ VC-1 video standard. It can also incorporate DRM in the video, so that video cannot be distributed freely. These are probably the reasons why YashRaj Films, one of the biggest film banners of India will be moving to SilverLight on their website.

“We chose Silverlight as we wanted to deliver rich interactive applications for our viewers. It is an end-to-end solution that will enable us to reach multiple platforms,” said Anand Gurnani, Senior Manager, Internet and New Media, Yash Raj Films.

Wins like this from big film companies could help SilverLight become a real competitor to Flash Video (flv) used by YouTube as well as many other online video sites!!

Wednesday, September 5, 2007

Microsoft's SilverLight ported to Linux by Novell

While I was exploring Visual Studio 2008, for a IDE comparison, I came across a highly publicized technology called SilverLight. Microsoft's competitor product to Adobe Flash, but Microsoft is trying to advertise more about its video streaming features. Thus, its more like a competitor to flv (Flash videos) which are very popular these days, thanks to YouTube.

SilverLight seems to be a promising technology, but does it have enough to beat Flash? Actually, Visual Studio 2008 is more of a programming tool, whereas Flash CS3 has programming, but design ease is its USP and based on the beta2 for Visual Studio 2008, it can't compete with Flash CS3. But for video streaming you don't need design, you require better video quality, with smaller file size. When Microsoft Expression Encoder is released at end of the year, or early next year, we'll find out if it gives flv videos a run for their money or not.

Coming back to another advantage of Flash is that it's installed on 90% of computers. So if you make something in flash, you can expect most people to be able to view it. Since, SilverLight is a Microsoft technology and we all know the dogfight between Ballmer's bunch and Linux geeks, so how will Microsoft make a linux runtime for SilverLight??? Simple, they call their best friend from the Linux world, Novell to help them out. And Novell being Novell (they want interoperability in everything), helped them out. From what I hear, SilverLight will be called MoonLight in Linux, and Novell+Microsoft gonna release it with Expression Encoder. So my guess is that quite a lot of work on the linux front has been done by Novell, and lets see when it finishes!!