VSTO & .NET & Excel

December 21, 2011

Real Studio – The Perfect Companion for SMEs

Filed under: Real Basic Developing, SQLite, Valentina DB — Tags: , — Dennis M Wallentin @ 1:43 am

Introduction
In the beginning of this year I decided to explore Real Studio (formerly Realbasic, RS) which is a full featured cross-platform software development tool. With it we can create a wide range of applications, from small tiny utilities to enterprise applications that target Mac OS X, Windows, Linux and the web.

Initially I had an idea of just testing RS for some days, write a blog entry and then go back to .NET & MS Excel. Well, it turned out to something unexpected, I started to use it more and more. I even bought some third-party’s controls. Now I’m considering creating some standalone commercial tools on the RS platform.

Before we move on please put off  Your Excel hat and while doing so please also put off Your VS.NET hat. Also, bear in mind that while Microsoft is the largest software corporate in the world the company behind Real Studio, Real Software, is indeed a small corporate. What I try to say is; try to avoid the mistake to compare Real Studio vs Microsoft’s softwares and also Real Software vs Microsoft.

Real Studio
Real Software is the corporate behind RS and it was founded in 1996. The first version of RS was released in 1998. So after more than 10 years on the market RS should indeed be considered as a matured software and development platform.

RS is a unique software and development platform as it actually is targeting four different platforms, Mac OS X, Windows, Linux and the web. I find it amazing that we can create softwares for more than one platform in a rather smooth way and at the same time. To me it was a wow-factor when I saw my first application running on Ubuntu 11.10 (a Linux distribution) developed on Windows 7.

For me RS will always have a special place in my heart because RS has brought back the joy to develop applications! Yes, it’s true and I find myself smiling when doing some hobby project with RS. This may sound extraordinary but I have been developing solutions for MS Excel for more than 20 years using VBA, VB6 and VB.NET. I needed a reboot and RS was the tool for it.

What was it that made me to change from an opinion that just test it to really like RS and appreciate it as I actually do? The first thing that comes to my mind is simplicity, RS is really simpel to use yet so powerful. The second is the tight integration for databases in RS and how it interacts with databases. The third and final thing is how easy it’s to deploy it. It reminds me how easy it was to work with VB6. So for future release I have only one wish; please keep it clean and simple.

The first screen shot shows the start page when using the Enterprise version on Ubuntu 11.10:

The second screen shot shows the RS’s IDE in “visual mode”. For some it may look primitive but actually I have noticed that I have become more productive with this “simple” and clean interface as I find my ways relative fast (Enterprise version and Ubuntu 11.10):

RS is a strong supporter of Object Oriented Programming (OOP) techniques. But don’t be afraid, RS does not require that we must be OOP-gurus. In other words, RS offers us to use it but we are not forced to accept the offer.

One of the corner stones of RS is its Database class which allows us to connect and interact with several common databases. Not only that, since version 2005 RS is shipped with its own database, Real SQL Database. RS own database is built around SQLite, which is quite good to use for most of the projects. At least, that’s my opinion. The RealSQLDatabase is a subclass of the Database class. Take Your time to explore this part of RS and You’ll be surprised for what it actually can achieve. I find the Database part to be the best part in RS due to the tight integration in RS, it’s simplicity and the fact it doesn’t include only the RealSQLDatabase.

Of course, RS can also interact with other commercial databases such as Valentina DB. The following screen shot shows the built-in options for using databases (Enterprise version on Window 7 x86):

RS is also shipped with a built-in report generator that can be used to create reports to present data from databases. Just for fun You may check out the following two databases that work with RS as well:

What may surprise You, I was very surprised, is that RS is not shipped with any native Grid control or with a Chart control. Personally I have difficulties to accept it. OK, it exist some good commercial third-party controls (see below) but that shouldn’t be an excuse for not providing at least two basic controls with RS. After all, the missing components belong to the core of data presentation, linked to underlying databases, and therefore should be considered as a “must”.

For those of us who come from the VB world will find out that learning Realbasic has a short learning curve and that the learning curve is not steep. Realbasic can be described as a Visual Basic almost-clone but much better. It’s quite impressive that we here have a development platform that use Real Basic to develop solutions for four different platforms.

Personally I’m very pleased with it as it saves hours of learning. If You just for a minute place the VB-hat back on Your head;  the following code is actually written in Real Basic and it’s difficult to separate it from VB(A)-code, right?

Dim FItem as FolderItem
Dim iCounter as Integer
FItem = GetFolderItem("")
For iCounter = 1 to fitem.Count
Listbox1.AddRow str(iCounter)
Listbox1.Cell(ListBox1.LastIndex,1)=FItem.Item(iCounter).AbsolutePath
Next iCounter

Now You can take off the VB-hat again.

Real Software has a 90 days release cycle, that’s four times per year. What is notable is that no patches or service packs are released between the new versions of RS. Of course, the release cycle has its pros and cons. RS can be improved rather quickly and users know when new versions are expected. [Edit] If Real Software find a major bug then they will rather immediately release a new version of RS.

What may be a problem for RS developers is that some part(s) of RS can be deprecated between two versions without any notification. So before using newer versions RS developers must make sure that what is in use is not dropped in coming versions. This may sound as rather tough sits for developers. However, Real Software keep them in the framework up to one year or so and developers are warned when they open a solution that includes deprecated items etc. Developers are also notified about the changes in the release notes.

A side effect of the release cycle and the applied policy is that no books can actually be written as they can be outdated before they are even released. This makes it more difficult to learn to use and leverage RS, at least if we are looking for printed sources. I will later discuss the available channels for learning RS.

Because RS is a cross-platform development software, i.e. it target four platforms, Real Software must always apply the lowest denominator approach when adding new features. This is per design but Real Software also add OS-specific features. A typical case is the Windows registry.

What should also be notable is that RS does not support x64. However, it’s something that will be implemented in RS within a foreseeable future.

RS comes in several versions, but they are all targeting either the Desktop or/and the web. RS is shipped in several various versions as the list below shows:

  • Personal
  • Professional
  • Enterprise
  • Web

For more information about present versions, pricing and terms please see Compare Editions.

For a presentation of the company behind RS please see Real Software.

For an introduction to RS please see Real Studio.

Technically Support for RS
Real Software offers support for owner of Enterprise and Professional licenses. But the best resources for support are the public Q&A forums Real Software runs and they also maintenance mailing lists. RS has a strong support from the group of independed developers and many of them have been around since RS was shipped for the first time. Real Software maintenances also a wiki documentation site for RS, RealbasicWiki. There You can find updated and new technically information.

In my own experience I can say that the support given by the RS community is very good and that the community is indeed friendly. The forums are great places to start with and the knowledge is both deep and wide. The mailing lists are good but they can be more technically advanced. For learning they are great to monitor and follow.

Resources for learning RS
Because of the high pace of releasing new RS versions it’s impossible to write a book that is up to date. However, it exist some books that can be useful, especially for new users, although they are getting outdated. But the best resources can therefore be found on the web.

Real Studio Developer Magazine
Real Studio Developer Magazine is a monthly magazine with news, reports, reviews and code series. If You want to be serious about RS then a subscription of this magazine is a must. Please see RS Developer Magazine for more information.

RBLibrary.com
RBLibrary.com is an online store that offers smaller articles about specific subjects. Among the titles we found some interesting series for OOP, databases and automating MS Excel. Please see RSLibrary.com for more information.

Books
One of the books that is a must to read is REAL OOP with REALBASIC book written by Guyren G Howe and it’s available in the PDF file format. Please also check out Mark S. Choate’s book REALbasic – Cross-Platform Application Development which is a great book to learn various code techniques in RS. If available, You may also be interested in Matt Neuburg’s book Realbasic: TDG: The Definitive Guide. The last book I would like to recommend is not a book per se, it consist of blog articles all written by Aaron Ballman. The title is Ramblings on Realbasic.

Resource for Real Studio developers
For some years ago some high profiled RS consultants decided to set up an organization for professional RS developers. The organization was named Association of Realbasic Professionals (ARBP). If You intend to be a professional RS developers then I recommend You to apply for a membership of ARBP. But please take some time to navigate around on their site and get an opinion of Yourself about it.

Third Party Addons
It exist a group of vendors that provides plug-ins and visual controls etc. for RS. I decided to list those vendors I have good experience from and who offers highly professional tools, controls and classes.

  • CyphersTECH Consulting: GraffitiSuite, a collection of high quality visual controls.
  • Einhugur Softwares: A large collection of professional visual controls, including a Grid control. Also Libraries for various tasks.
  • Excel Software: RbApp, a set of visual controls including Grid control and Chart control. Offers a great number of other tools.
  • Figa Software: FGSourceList control, FGScopebar control and FGThumbnailCanvas control.
  • Jérémie Leroy: Ribbon control, Toolbar control and more.
  • LogicalValue Software: Runs the RSDevZone which offers some nice visual controls.
  • MonkeyBread Software: ChartDirector Plug-in, Complete Plug-in (largest collection of plug-ins), DynaPDF Plug-in.
  • Pariahware Inc: Elastic Window.
  • Roth Soft: RS Report Designer, a designer tool for creating reports in RS.
  • RB Garage: Owned by RB Library and is said to be the largest online resource for RS developers.
  • Thomas Tempelmann: Arbed, a collection of tools to use when developing solutions in RS.
  • True North Softwares: Formatted Text control, RB Code Reports and RTFParser

RS – The Perfect Companion
Why do I write that RS is the perfect companion for Small and Medium sized Enterprises (SMEs)? Well, I have been using RS for nearly a year and based on my experiences of SMEs I believe it is. I also compiled a list of pros and cons. I believe that the outcome speaks for itself.

Pros:

  • RS is indeed a Rapid Application Development (RAD) tool.
  • RS generates small packages and does not rely on any larger framework.
  • The learning curve for RS is not so steep compared with other languages and platforms.
  • The license fee is quite inexpensive compared with other alternatives.
  • Newer version of RS can be installed and used side-by-side with older version.
  • Many corporations have a mix of new and old computers. RS does not require having the latest most powerful computers to develop RS solutions and to run them.
  • Many corporations have a mix of various operating systems in their computers, most Windows and Mac OS X but also sometime Linux. RS is the only realistic development platform that can provide cross-platform solutions.
  • Many Mac OS X developers use it because it does not exist any attractive alternatives. In other words, corporations that rely on Mac OS X can find a greater range of consultants who knows RS.
  • Easy to deploy and it also exist professional installation softwares that can handle to install cross-platform solutions like InstallAnywhere and BitRock InstallBuilder.

Cons

  • Real Software is a small corporate meaning limited man hours to develop, to maintenance and to give support.
  • The use group is, compared with other development tools’ groups, a small group. I believe Real Software writes on their site that RS has 150,000 users.
  • The release cycle can cause problems as classes, methods, properties etc. can be dropped between two versions.
  • Per design RS works on several operating systems which can also be a disadvantage due to the requiry of using the lowest denominator approach.
  • The lack of two important controls, customers to Real Software must depend on third party unless they develop similar controls by themselves.
  • Does not yet support x64.

As for the business risk it’s always higher when working with small corporates. For me that’s by design.

Although RS is competing with other development tools I see RS more as a compliment to  .NET / Eclipse/ Embarcadero Delphi etc.

Finally, this is the first article about RS but certainly not the last; so I say welcome RS to my blog 🙂

Kind regards,
Dennis

December 15, 2011

Excel Mashup, Java & HTML 5

Filed under: .NET & Excel — Dennis M Wallentin @ 3:11 pm

Microsoft has recently launched a new site that target how to create rich and interactive data mashups in Excel for use on the web. Technically speaking, we use the programming language JavaScript to interact with embedded Excel Web Apps’ objects.

For basic and small projects we can use auto generated JavaScript. For more advanced solution we may use the Excel Service JavaScript library to make rich data mashups using data from your embedded workbooks.

I find it very interesting but instead of making a write up myself I decided to link to J-K Pietersen’s excellent article about Excel mashup: Embedding Excel files on your website

For more information You can navigate to the start page at Microsoft’s new portal: Excel Mashup

Other blogg articles on the subject (I suspect many more to come!):

To learn and to exchange knowledge with other developers You may visit Microsoft’s Q&A forum for Excel Web Apps.

If I allow myself to speculate I guess much of that we see now will be part of the next release of Excel.

At the same time it’s an indication about what we must learn, at least has basic knowledge about, Java and HTML5. Are You surprised?

Kind regards,
Dennis

Blog at WordPress.com.