Monday, September 16, 2013

Developing Android apps with Delphi XE5 on an ancient Nook Color

With this release I thought I would play around with some of the new android support available. Of course its much more fun if you have a device to play around with, but I wasn't about to run out and get one since I already have an IPad that I switched to after almost two years with my nook color. Which got me thinking, the nook color runs would it be a viable option for development? The answer is yes! Well in a way.

Exploring the forums at xda-dev found that I could boot 4.3.x jellybean on my nook using the SD expansion card. So I figured, what can I loose? So I spent a few hours installing my nook and figuring out the magic trick for enabling developer mode (go to about and click the build number several times...eventually it will tell you 3 more taps away from enabling developer mode..keep tapping).

Once this was done and the developer mode enabled, I hooked it up via USB cable and it showed up in the IDE as a viable target. I grabbed the 3d firemonkey demo and compiled it to the device and it ran flawlessly. Of course the nook color doesn't have a camera, or some other hardware, but for general GUI or 3d programs, it appears to run very well in this mode.

One thing I haven't yet been able to do is get a program running in debug mode, it always times out (even with a simple hello world app), but so far it runs well with everything else I have thrown at it. I really enjoy the easier path to deployment from my laptop (windows). It really is easy.

Thursday, October 04, 2012

TypeScript brings types to Javascript

One of the things that I generally get frustrated with when I have to code in Javascript is the lack of safety that strongly typed languages such as Delphi bring to the table. Most of the tools, while they offer basic language helpers, do not do much about the structure of your javascript application. There is no "code insight" for Javascript function least not for MY code.

One of the latest offerings from Microsoft, as presented by Anders Hejlsberg, is TypeScript. It appears to me that TypeScript is a game changer in the world of Javascript development.

TypeScript is an extension to Javascript. Everything you can do in Javascript, you can also do in TypeScript. TypeScript "compiles" to Javascript, so there is no special plugins that need to be deployed. Its all about adding the missing "type" and providing code gen helpers to make your code cleaner and easier to understand. Its all about adding that little bit more information that will make your (Javascript) applications much easier to maintain.

Looking over what TypeScript does, it makes sense. Its simple enough that it shouldn't take long to learn to apply.

If you do any Javascript development, take a look at TypeScript.

Wednesday, September 05, 2012

Metro Icons for Delphi XE3

In playing around with Delphi XE3 and the new Metro UI wizards, I found I needed a few icons to explore with. After a little searching, I discovered a gem in the free utility MetroStudio.

This application allows you to quickly create Metro-ized icons from either a collection of over 1400 symbols, or even a symbol from a font installed on your machine.
For example, the lightning bolt can be used as a tile:
or as a tool bar image:

I haven't gotten that far into it yet, but another thing I find missing for the FireMonkey version that appears to be an oversight is the lack of a flow layout panel that flows from top to bottom, left to right. The default flow layout panel flows left to right or right to left. Unfortunately this makes laying out a metro style application a manual process, and doesn't easily allow for the addition of dynamic content which would flow appropriately based on screen dimensions.

Friday, October 15, 2010

Delphi Tip : Avoiding Project101

It is inevitable. In my hurry to test something I created yet another console application and started entering some code. Funny thing how the project numbers keep mounting, and I have no recollection what any of these small test applications do since every default project goes into the same directory.

The solution turned out to be quite simple. Remove the WRITE access to the default project directory for my development user account. Now when I go to save, I am presented by the following dialog:

This gives me one last warning that the project doesn't yet have a home...I can now decide where to place it and what it will be called. Actually, I can't even RUN the application until it has a home...

Granted this means that there will probably be another directory with a hundred ProjectN programs... but I'll know I put them there on purpose.