Welkom op het developersblog van 4DotNet
Op dit developersblog zullen onze eigen ontwikkelaars hun praktijkervaringen en andere inseressante onderwerpen plaatsen.

Archief van 'Programmeren'

Rene Kapitein

Bob the Browser

In 2008 volgde ik bij een SDN congres een sessie van André Obelink. Na afloop van deze sessie stond ik met een aantal belangstellenden vooraan op het podium en stelde André een aantal vragen. Voor een goed antwoord kreeg je een cadeautje. Op deze manier won ik een kookboek. Geen gewoon kookboek, zo bleek, maar het Visual Basic Kookboek van André Obelink.

Het is net als bij een echt kookboek niet de bedoeling dat je het boek van kaft tot kaft gaat lezen maar dat je al bladerend op ideeën komt om zelf iets te gaan ‘bakken’.  Er stond oa. een recept in om een eigen webbrowser te maken. Ik heb destijds een browser gemaakt met aan de linkerkant drie grote knoppen. Deze knoppen heb ik gekoppeld aan de drie  websites waar mijn zoontje het meest op zat. Eén van de websites die bij hem destijds erg populair was, was Bob de Bouwer. We noemden mijn browser daarom thuis voortaan Bob the Browser.


Lees verder…

Rene Kapitein

Form tonen op de taakbalk

Bij een bestaande VB6 applicatie hadden we het probleem dat een formulier van het scherm verdween wanneer je met de muis naast het formulier klikte. De oplossing leek eenvoudig: zet de property ShowInTaskbar op True. Wat deze property precies doet, weet ik niet maar hij zorgt er in ieder geval niet voor dat het formulier in de taakbalk verschijnt.

Na enig speurwerk op het Internet hebben we de oplossing voor dit probleem gevonden.


Lees verder…

Andre Mussche

Deze week is “Coderage 6” actief, met online video sessies over verschillende onderwerpen. De replays van de 1e twee dagen zijn nu te downloaden, 2 daarvan zijn erg interessant:

Android app met Google Maps, deel I

De applicatie maakt gebruik van gps, de lokatie wordt verstuurd naar een centrale server. Vanuit de server wordt de applicatie geupdate, zodat de lokatie van iedereen die deze app runt, op een kaart getoond kan worden. Het mooiste zou zijn als de server de applicatie met push berichten update, maar deze functionaliteit is nog niet out of the box beschikbaar.

In Eclipse gaan we een nieuw android project maken, File->New->Android Project.

  • Project name: DtsMapDemo.
  • Google APIs 2.1-update1
  • Package Name: nl.dts.android.dtsmapdemo

Dit zijn de drie dingen die ik heb ingevuld, de rest werd automatisch ingevuld. Een overzicht van de android versies die in gebruik zijn, vind je hier: http://developer.android.com/resources/dashboard/platform-versions.html. Ik heb hier gekozen voor de Google APIs en niet voor voor Android x.x, omdat we een Google maps app gaan maken en de API voor Maps zit niet in de standaard Andoid sdk.


Lees verder…

Android

Voordat je Android applicaties kan programmeren, moet je eerst de ontwikkelomgeving in orde maken. De volgende zaken moeten geinstalleerd worden:

  • Een Java jdk
  • Android sdk
  • Eclipse
  • Android development tools (ADT) plugin voor eclipse
  • Usb driver

Java

Java kan hier gedownload worden. Let er wel op dat je de jdk installeert, de jre alleen is niet genoeg.

Android sdk

Een android sdk starter package kun je hier downloaden:

http://dl.google.com/android/installer_r11-windows.exe
http://dl.google.com/android/android-sdk_r11-mac_x86.zip
http://dl.google.com/android/android-sdk_r11-linux_x86.tgz

Run de installer en je kan kiezen welke versie(s) van android je wilt installeren. Selecteer bij de Third party add ons Google Inc, dit is nodig om Google maps te kunnen gebruiken.

Voor meer informatie kun je terecht op developer site van Android: http://developer.android.com/sdk/installing.html

Eclipse

 Eclipse, een java ide, is hier te downloaden: http://www.eclipse.org/downloads/. De classic versie wordt door Google aanbevolen.


Lees verder…

Andre Mussche

Bob Swart: Delphi XE en Intraweb XI
De 3e sessie ging over de nieuwste versie van Intraweb die bij Delphi XE meegeleverd wordt. Dit zijn echter beperkte versies: je kunt beter upgraden naar de volledige versie (oa SSL, source code, IP binding, etc).

De nieuwste Intraweb versie is flink verbeterd en opgeschoond, maar dit is wel ten koste gegaan van oude features: geen HTML3.2/WAP, geen verschillende browser versies, geen partial updates, etc. Dit waren destijds features die hun tijd vooruit waren maar nu niet meer relevant zijn met de modernste browsers. Het is dus niet 100% backwards compatible, maar daarvoor zijn wel betere features voor in de plaats gekomen: volledige AJAX/Async support, betere authentication, betere URL handling, data pools, meer deployment mogelijkheden, etc.

Lees verder…

Andre Mussche

Afgelopen vrijdag 18 maart ben ik weer een keer naar een SDN event geweest. Het werd gehouden in het “Achmea Conferentie Center” in Zeist: een mooie locatie maar geen parkeergelegenheid dus je moest de auto op een vergelegen parkeerplaats parkeren en via een pendeldienst op en neer rijden…

Pawel Glowacki: What’s Cooking in Delphi labs

Als eerste een sessie gevolgd over de ontwikkelingen die er gaande zijn voor Delphi. Sinds de overname door Embarcadero is er veel verbeterd en veranderd (touch & gestures, cloud support, etc) en er zijn veel plannen en ideeen voor de komende versies (data binding, biometrics, voice, social, universal cloud API, parallelization, mobile, etc). Helaas kon en mocht hij weinig concreets zeggen, maar er wordt veel in geinvesteerd. Wat dat betreft was hij blij met Embarcadero: een solide en kapitaalkrachtige onderneming, niet beursgenoteerd dus geen investeerders die zich bemoeien met de roadmap!

De volgende versie gaat in ieder geval 64bit Windows en cross platform (MacOs en Linux) ondersteunen. Dit alleen in de compiler: er komt vooralsnog geen speciale IDE versie voor MacOs etc (hoewel dat wel zou kunnen), ze willen zich eerst vooral op een goede Windows versie richten.

Wel nieuw was de aankondiging dat de volgende versie vector based GUI controls krijgt, die cross platform zijn! Dit is mogelijk door de overname van KSDev, de makers van DxScene en VgScene. Hiermee zijn erg mooie en snelle user interfaces te maken, die door DirectX of OpenGl gerenderd worden (zie een vorige blog van mij hierover). Daarnaast is alles “object based”, dat wil zeggen: je kunt een listbox maken en hierin elke control als item toevoegen (button, image, panel, etc) in plaats van alleen een “listitem”. Een grid met allerlei knoppen en treeviews is zodoende eenvoudig mogelijk. Uiteraard zijn allerlei effecten mogelijk (scaling, zooming, rotation, transparency, transition paths, etc).

Trouwens niets over “Project Cooper” van RemObjects: dit is een Java compiler voor Delphi Prism! Hiermee kun je dus oa “native java” voor Android ontwikkelen.

Sander Hoogendoorn: One man, one Whiteboard and three markers

De tweede sessie was vermakelijk, met allerlei grappen en grollen. Ik had een boek over architectuur van hem gelezen, maar niet geweten wat voor een drukke komiek hij is :-) .

Het was de 2e sessie, gehouden zonder agenda: het publiek bepaalde de onderwerpen. In een rap tempo ging het over DDD, Domain models, Business Objects, Dependency injection, validation, logging, AOP, MVC/MVP/MVVM/MVWTF, etc. Weinig nieuws (bekende termen) maar wel met praktische voorbeelden uitgelegd.

Wel interessant was de benadering m.b.t. domain types: een persoon heeft een voornaam en achternaam. In plaats van deze het “string” type te geven, kun je beter een “HumanName” class maken, want een naam heeft bepaalde karakteristieken: geen cijfers, alleen letters en spaties, geen andere tekens. Dus string is te algemeen. Hetzelfde geldt voor creditcard, BSN/Sofi, rekening- en telefoonnummers.

Ook een goed aandachtspunt was het niet gebruiken van business objecten bij grote acties: bijvoorbeeld uitvoeren van uitgebreide rapportages of het bijwerken van veel records (alle salarissen van een groot bedrijf +10%). Als je duizenden records als data/business objecten moet laden, ben je een hele poos bezig…

Edgar Tichelaar

De eerste video opnamen van de DevDays2010 (30-31 mrt 2010) zijn online beschikbaar via de channel9 website.

De sessies die als eerste online staan gaan over ASP.NET MVC, Silverlight 4 en Windows Azure.


Lees verder…

15 t/m 17 maart jl. was de MIX10 conferentie voor (web)ontwikkelaars in Las Vegas.

Tip voor degenen die niet zijn geweest:

de sessies zijn online te bekijken op http://live.visitmix.com/Sessions.

Rene Kapitein

e-Mail sturen vanuit SQL Server 2005

Systeem Integratie is een fascinerende tak van de automatisering. Wat ooit begon als losstaande eilandjes kan op een mooie dag zomaar met elkaar verbonden worden. Nou ja, zomaar: ons werk heet dan wel automatisering maar dat betekent natuurlijk niet dat alles zomaar vanzelf gaat. Jaren geleden heb ik een Meldingensysteem gemaakt waarmee je fouten en wensen in applicaties kunt registreren. Hierbij kun je een prioriteit en een streefdatum invullen en ook bijhouden welke aanpassingen je hebt gedaan bij een melding. Als je daarbij ook releases bijhoudt, is het bovendien een prima basis voor releasenotes.

De mensen die mijn blog een beetje gevolgd hebben, weten dat ik recent bezig ben geweest met de applicatie Remember The Milk (RTM) : een tot do lijst waarbij je online taken kunt beheren. Sinds kort heb ik op eenvoudige wijze een koppeling gemaakt tussen deze twee applicaties. Het idee is dat er vanuit de database van het meldingensysteem een e-mail wordt gestuurd naar mijn geheime RTM e-mail adres, voorzien van relevante tags. Iedereen die zich aanmeldt bij RTM krijgt een ‘geheim’ e-mail adres. Wanneer je een bericht stuurt naar dit e-mail adres, wordt hiervan een taak voor je aangemaakt. Door in deze mail speciale codes op te nemen, kun je direct bepaalde kenmerken meegeven, zoals een categorie of een duedate.


Lees verder…