Review: FTPKit

A new feature I’m adding to RBDevZone is product reviews. I use quite a few different tools, plugins and classes with REALbasic which deserve some sort of mention. First up: FTPKit from Bains Software.

A project I’m working on had a requirement to regularly download updates to its internal data. The customer publishes these updates to their FTP site, so I needed a solution to pull down the files so that I could load them into the database.

A quick Google search turned up three different FTP options for use with REALbasic: FTP Suite ($90, Apogee Software), CURL Plugin (~$30, MonkeyBread) and FTPKit ($75, Bains Software)

I purchased FTPKit because it was the simplest of the bunch and I really didn’t need much other than the ability to download files. Purchasing was quick and easy. I received my license file almost immediately.

The current version is FTPKit 1.7 and it works just fine with REALbasic 2008 Release 3.1. FTPKit is a set of encrypted classes that you drop into your REALbasic project. Different classes are provided for REALbasic Standard and REALbasic Professional. I don’t know what the difference is as that’s not mentioned anywhere.

Speaking of that, the documentation for FTPKit is a bit weak in my opinion. It’s just a short RTF document describing the classes, the methods and their properties. But that is mitigated by the fact that it is so darn easy to use. An example project is included as well.

To get started just drop an FTPSocket control on your window and call the login method:

FTPSocket1.Login("ftp.yourserver.com", "user", "password")

Then in the LoggedIn event, you can start doing what you need to do. In my case, I just needed to download a file:

Me.DownloadFile("filename.xml")

There are all kinds of available events for tracking progress, errors and other stuff. FTPKit can also download file listings which I’ve found useful so that I can process only specific files in a directory.

As you can tell, my needs were simple. FTPKit was well worth the $75 price for me. You can download it for free and try it out. It is fully functional in Debug applications and displays a splash screen in built applications.

Current Notes 41

Software

REALbasic 2008 Release 3.1 – This is so cool that it warranted its own post

On-Target Reports 5.0.9 – Updated to work with REALbasic 2008 Release 3

Display Overlord 3.0.2 – Adds support for REALbasic 2008 Release 2 and up

GraphicsFormats 2.9 – Updates, including better compatibility with REALbasic 2008 Release 3

CustomEditField 1.5 – More updates to this amazing free canvas-based code editor

Community

2008r3.1 Released Today – Some background from Aaron, the man in the know

REALbasic Best Practices – Good advice from Aaron

Heaven and Earth Moved? A Dot Release – Bob’s thoughts on 2008r3.1

Oracle / REALbasic / Java Classes – Steve talks about how he’ll be using REALbasic with Oracle by way of the MBS plugins (and here’s a follow-up)

REALbasic 2008 Release 3.1

In case you hadn’t heard, REAL Software shipped their first “point release” for REALbasic since the advent of the Rapid Release Model 3 years ago: REALbasic 2008 Release 3.1.

Aaron points outs details for why they did this in his blog. I think it’s great to see REAL making sure that this release of REALbasic is stable enough to use.

I am now using Release 3.1 on three of my relatively large current projects and had very little difficulty upgrading any of them. I expect all my projects will be moved to it within the month.

Previously I was using a combination of REALbasic 2007 Release 5 and REALbasic 2008 Release 2 for my projects.

One reason I’m so keen on Release 3 is simple: the profiler. I’ve already made good use of it to pinpoint some slow code. There are also plenty of bugs fixes. I’ve not run into most, but I like these:

852: Windows tuck themselves up under the menu bar
I seemed to run into this often enough to be annoyed, even if it was easy to work around.

1800: Some older projects do not have their InitialParent setup
This prevented me from upgrading some older projects to REALbasic 2008 r1 or r2.

2507: IDE leaves behind Temp files after saving
Minor, but annoying to see these files mixed with my source.

2728: RB2008r1 Extract method makes code editor behave strange and buggy
I use “Extract Method” a lot and this was very annoying.

2789: Enabled property for toolbar item doesn’t save in RBVCP format
I reported this one (during the r3 beta) and am glad to see it fixed.

The warning system is also nice, but I’m not so happy with it taking over my favorite Command-K shortcut to check for compile errors. Previously Command-K would just do a “Syntax Check” and was fast because it made use of incremental compilation. Now it does an “Analyze Project” and always recompiles the project from scratch so it can find all warnings. I don’t like the change, but I’m getting used to just checking the item I’m working on (Shift-Command-K) instead.

I still eagerly await some of the cool database stuff they showed at REAL World, such as the built-in ORM and ability to specify different databases for debug and test. REALbasic is also still a bit of a memory hog, but I don’t notice that much with 4GB of RAM.

Anyway, you should definitely check out REALbasic 2008 Release 3.1 if you haven’t already!

Current Notes 40

Software

Yuma 1.0 – Now released! Web development using REALbasic is finally here.

Community

Specifying Constant Types – Aaron posits some ideas for how this might work

REALbasic 2008 Release 3 – Philip talks about why he’s added it to his dock

ARBP Membership Levels – We’ve announced the Association of REALbasic Professionals membership levels and pricing.

Current Notes 39

Software

REALbasic 2008 Release 3 – The warning system and the profiler are two significant additions to the IDE. It’s been working well for me on a new project I just started. I haven’t yet moved my older projects to it, though.

Yuma Documentation Wiki – A better way to get at the docs for Yuma (FYI: I wrote the database docs)

Information

Attributes – Aaron talks about how Attributes (a new feature of REALbasic 2008 Release 3) are used

Interesting Issue with Constructors – Good advice on how to avoid a potential inheritance “gotcha”

Community

REALbasic 2008 Release 3 – Thoughts from Aaron

REALbasic 2008 Release 3 – Thoughts from Bob