Palmclub logo  

Home | Nieuws | Reviews | FAQs | Tips | Shop | Channel Navigator | Nieuwsbrief | Forums

Review: NSBasic 2.0

Door Johan van den Brande Klik op de plaatjes voor een vergrote versie
Publicatiedatum: 19 juli 2001


NSBasic index



meerdere schermen

Recentelijk heeft The NSBasic Corporation een nieuwe versie van hun Palm development omgeving uitgebracht, NSBasic 2.0. Deze nieuwe versie bevat een heel aantal verbeteringen t.o.v. de vorige versie. Welke verbeteringen dit zijn en wat NSBasic in het algemeen te bieden heeft gaan we in dit artikel bekijken.

NSBasic

NSBasic is een BASIC variant voor het PalmOS operating system en wordt geproduceerd door een Canadees bedrijf dat gespecialiseerd is in het maken van BASIC ontwikkel omgevingen voor handheld computers zoals PalmOS, Newton en Windows CE/PocketPC devices.

Het programmeren onder NSBasic kan je nog het beste vergelijken met het werken onder Visual Basic van Microsoft. Personen die ervaring hebben met Visual Basic kunnen zeer gemakkelijk hun weg vinden binnen NSBasic. Vergis je niet, het feit dat NSBasic 'slechts' BASIC is, beduidt niet dat je geen professionele programma's kan aanmaken of dat je helemaal niet hoeft te kunnen programmeren. NSBasic is een professionele ontwikkel omgeving.

NSBasic is een complete ontwikkelomgeving. Deze bestaat uit een integrated development environment (IDE), waarin we een project editor, code editor en menu editor terugvinden. Een grafische omgeving laat je toe om een userinterface voor de Palm te ontwikkelen. Een toolbox met verschillende widgets ( user interface elementen ) staat ter uwer beschikking. Ook vinden we het programma IconMake terug, dat u toelaat om programma iconen en bitmaps aan te maken voor Palm applicaties. NSBasic laat je ook toe om applicaties met een echte Palm look&feel aan te maken. Vele andere 'high-level' ontwikkelomgevingen voor de Palm voorzien in eigen 'custom-made' widgets, wat voor een gebruiker van je applicatie voor verwarring kan zorgen.

De nieuwe versie

NSBasic is vorig jaar in juni op de markt verschenen. Gedurende dit jaar heeft NSBasic een 12 tal ( gratis ) updates ter beschikking gesteld. Deze updates hadden voornamelijk te maken met de stabiliteit en functionaliteit van de gegenereerde Palm applicaties. Recentelijk ( Juli 2001 ) heeft NSBasic dan hun nieuwe release voorgesteld die voornamelijk vernieuwingen brengt in de IDE.

Zo hebben we nu de mogelijkheid om meerdere code windows tegelijkertijd open te doen. De grafische editor om de userinterface van een palm applicatie aan te maken is ook verbeterd, het slepen en verplaatsen van widgets gaat nu een stuk vlotter. Er worden 'echte' Palm fonts gebruikt, wat de editor accurater maakt. De menu editor is nu te vinden in de project-tree en beter geïntegreerd in de IDE. Voor deze nieuwe versie hoef je ook het (oude) iconmake programma niet meer te gebruiken. Images en iconen kunnen nu gewone .bmp, .jpg of .gif zijn. Een verdere vernieuwing vinden we in de integratie van POSE ( Palm OS Emulator ) in de IDE. We kunnen nu een applicatie compileren en onmiddellijk naar POSE sturen, indien we dit wensen. Nadeel hierbij is wel dat de meegeleverde POSE problemen heeft met het emuleren van een Handera device.

Fat app - Thin app

Wanneer je in NSBasic een palm applicatie aanmaakt ( compileert ) kan je kiezen uit een gewone NSBasic applicatie, 'Thin app', of een 'Fat app'. Het verschil zit hem erin dat je voor een gewone NSBasic applicatie een 'runtime' nodig hebt. Deze runtime is 89Kb groot en noemt 'NSBRuntime.prc'. Normaal moet je deze runtime op je pda plaatsen voordat je een applicatie, gemaakt met NSBasic, kan draaien. Het kan ook anders door te opteren voor een 'Fat app'. Een 'Fat app' bevat reeds de runtime. Deze hoeft dan niet meer apart te worden gedistribueerd, maar resulteert wel in een grotere applicatie, van minimaal 90 Kb. Als je je applicatie distribueert als een 'Thin app', dus zonder ingebouwde runtime, dan kan het zijn dat er compatibiliteits problemen opduiken met een oudere of nieuwere runtime die zich op de Palm bevindt. Je kan namelijk geen twee verschillende runtimes op een Palm plaatsen, of je moet een 'Fat app' gebruiken.

De voornaamste features

De taal NSBasic is rijk aan support voor het PalmOS. Zo heeft NSBasic support voor het aanspreken van PalmOS databases, zogenaamde PDBs. Ook alle widgets van het PalmOS komen aan bod, zoals popup triggers, menu, select box, text box, labels, push buttons... Behalve support voor tabellen, hoewel dit aangekondigd is voor een toekomstige versie. Nochtans kan je zelf een tabel maken door gebruik te maken van de andere user interface elementen. Twee krachtige features van NSBasic zijn de support voor shared libraries en de mogelijkheid om rechtstreeks de PalmOS lowlevel APIs aan te spreken.

De mogelijkheid om de lowlevel PalmOS API calls te gebruiken maakt dat je in NSBasic, in theorie, dezelfde mogelijkheden hebt zoals je die in een lagere taal (C/C++) hebt. Je kan wel niet alle PalmOS APIs gebruiken omdat NSBasic niet over alle datatypes beschikt die je hiervoor nodig hebt. NSBasic komt met een aantal high-level functies en subroutines om het PalmOS aan te spreken. Deze funkties hebben geen support voor kleuren, maar het gebruik van PalmOS APIs laat u wel toe om kleur toe te voegen aan uw Palm applicatie ( indien je beschikt over een kleuren Palm natuurlijk ). Andere dingen die je hiermee kan doen zijn bv. het aanspreken van de AlarmManager of Notification Manager, gebruiken van andere fonts etc ...

Een ander krachtig concept is de mogelijkheid om PalmOS shared libraries aan te spreken. Een shared library is een .prc die extra functionaliteit bevat die niet standaard aanwezig is in het PalmOS, maar die toch vrij veel gebruikt wordt en waarvan het dus nuttig is om deze functionaliteit te delen met verschillende Palm applicaties. Om ingewikkelde wiskundige berekeningen te doen gebruikt NSBasic de Mathlib.prc. De functionaliteit van deze library werd vertaald naar ingebouwde NSBasic funkties. De BitsNBytes library bevat funkties voor o.a. binaire en hexadecimale bewerkingen, berekenen van een CRC checksum etc ... NSBasic levert een aantal Shared libraries voor het aansturen van vendor specifieke uitbreidingen op de Palm. Zoals bv. het Handera device of de Symbol barcode scanner. Door het aanspreken van deze shared libraries kan een NSBasic developer op een eenvoudige wijze gebuik maken deze extra functionaliteit.

Een laatste pluspunt is de, naar mijn mening, ongelooflijk goede support. NSBasic heeft twee yahoo-groups aangemaakt, nl: nsbasic-palm en nsbasic-palmAPI. De developers van NSBasic zijn hier heel aktief en beantwoorden vragen van beginners en professionals in no-time.

Alleen maar voordelen?

Een nadeel van NSBasic dat door vele wordt aangehaald is het ontbreken van support voor wireless data overdracht. Hoewel NSBasic support heeft voor seriele en infrarode communicatie zoeken we tevergeefs naar support voor TCP/IP, HTTP of andere internet protocollen. NSBasic heeft hiervoor gepartnerd met ASTAWireless ( www.astawireless.com ). Hun oplossing bestaat uit een server die draait onder Windows ( naar hun zeggen ook Linux ) en uit een shared library voor de Palm.

Daar NSBasic een ontwikkelomgeving is voor Palm applicaties, is het eigenlijk ook logisch dat je er geen conduits met kan maken. Hiervoor verwijzen ze je door naar de Conduit Development Kit (CDK) voor Palm. Deze is leverbaar voor Visual Basic, Visual C en Java. Ontwikkel je graag een conduit voor Linux, dan kan je gebruik maken van coldsync of van Pilot-Link.

De nieuwe IDE is wel zeer buggy. Als voorbeeld heb je dikwijls problemen bij het veranderen van properties. Zo heb ik bv. problemen om bij een 'Field' de property om een scrollbar toe te voegen op 'true' te zetten. Laten we hopen dat er snel een update komt waarin deze 'rariteiten' zijn opgelost. Zelf gebruik ik nog steeds de oude versie totdat er een update komt waar de ergste fouten zijn uitgehaald. Gelukkig zijn de aangemaakte PalmOS applicaties wel stabiel (ook in 2.0) en dat is voor mij het voornaamste!

Conclusie

NSBasic is een volwaardige ontwikkelomgeving voor Palm applicaties. Vergeleken met een applicatie ontwikkeld in C is ze wat trager en groter, maar er valt goed met te leven. Zowel de beginnende als professionele Palm developer kan ermee aan de slag.

Pluspunten

  • Shared Library support.
  • PalmOS API support.
  • Native PalmOS widgets.
  • Serial en IrDA support.
  • Komt met device libraries voor Handera en Symbol.
  • Goede support.

Verbeterbaar

  • Tragere applicaties (vgl. met C).
  • Grotere applicaties (vgl. met C en zie 'fat app' ).
  • Geen tables.
  • Geen wireless support.
  • Niet alle PalmOS API aanspreekbaar (beperking van Basic).
  • Versie 2.0 heeft een zeer buggy IDE.

Informatie

NSBasic kan je online bestellen bij The NSBasic Corporation zelf. Een licentie kost je $99.95 tot september, als een zomerpromotie. Vanaf september betaal je ongeveer $150. Voor een upgrade betaal je $39.95. De bestelling wordt netjes opgestuurd en bevat een CD en een boek.
Op de site van NSBasic kan je ook een demo versie vinden.
Een nederlandse reseller van het product is Widget.

NS Basic/Palm 2.0.1, de gegevens:

  • producent: NS BASIC Corporation
  • prijs: zomerpromotie tot september: ca nfl 240,- of 4400 BEF ($99.95). Vanaf september betaal je ongeveer nfl 365,- of 6670 BEF ($150). Voor een upgrade betaal je ca. nfl 97,- of BEF 1780,- ($39.95). Bij aanschaf krijg je de software op CD compleet met handboek.
  • Extra handboeken zijn bij te bestellen. 
  • Nederlandse reseller van het product is Widget
  • Geschikt voor: Windows 95/98/ME/NT/2K
  • Maakt applicaties voor PalmOS3.0 of hoger

Vragen of opmerkingen? Zie het Palmclub-forum!

Als je dit een leuk review vond, ben je misschien ook geïnteresseerd in:

Relevante links

Als je dit een leuk review vond, ben je misschien ook geïnteresseerd in:

Vragen, opmerkingen of discussie?

Via deze thread in het forum

Home | Nieuws | Reviews | Tips | Shop | Channel Navigator | Nieuwsbrief | Forums

© Copyright Nederlandse Palmclub Stichting   Over deze site

iCulture | Alles over Google Android