Scriptorama.nl

Header image showing a keyboard, mouse, laptop and books on design patterns

Hoe maak ik een File Upload progress bar met PHP ?

We hebben al eerder gelinkt naar artikelen die vertelden hoe je een file upload progressbar kon maken, maar deze vertelden dit op een enigzins hoog niveau zonder er bij te vertellen hoe alles nu precies in elkaar stak. Dus vandaag implementeren we op Scriptorama from-(bijna)-scratch een file upload progress bar met PHP, jQuery en een PHP extensie.

Update: Heb je niet de mogelijkheid om een nieuwe PHP module te installeren? Probeer het dan eens een file upload progress bar te maken met Google Gears!

(more...)

Adobe brengt alpha-versie Apollo uit

Vandaag heeft Adobe een alpha versie uitgebracht van haar nieuwe RIA ( Rich Internet Application ) platform Apollo genaamd:

Apollo is the code name for a cross-operating system runtime being developed by Adobe that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop.

Apollo enables developers to create applications that combine the benefits of web applications – network and user connectivity, rich media content, ease of development, and broad reach – with the strengths of desktop applications – application interactions, local resource access, personal settings, powerful functionality, and rich interactive experiences.

Het Apollo platform zou web ontwikkelaars in staat moeten stellen om met al bekende componenten zoals Flash, HTML en Javascript zogenaamde 'rich internet applicaties' te ontwikkelen en deze (cross-platform) te distribueren zonder daarbij de beperkingen van de huidige web browsers te hebben. Zo kan een Apollo applicatie bijvoorbeeld wel het filesystem benaderen, of bijvoorbeeld connecties leggen naar andere systemen. Om de Apollo applicatie van informatie te voorzien kan ook gewoon gebruik gemaakt worden van bestaande systemen. Een manier om gegevens op te halen is namelijk, net als in je browser, via een XMLHttpRequest object.

Om al dit mogelijk te maken is gebruik je voor Apollo applicaties geen webbrowser zoals Firefox of IE maar enkel de Apollo Runtime. Je download de applicatie en opent deze vervolgens met de Apollo Runtime. Om de applicatie te kunnen draaien moet een Apollo applicatie worden "geinstalleerd" op je PC en daar zorgt de runtime zelf voor. De gebruiker krijg een vrij opvallende dialoog te zien wanneer een Apollo Applicatie op het punt staat om geinstalleerd te worden:

Apollo

Om zelf met Apollo te spelen kun je de Apollo runtime downloaden, verschillende demo applicaties -zoals een RSS reader of een applicatie met Google maps integratie - proberen en als je wat avontuurlijk bent ingesteld ook alvast de Apollo SDK downloaden (registratie vereist) om daar zelf mee te spelen. Wil je meer weten over Apollo, check dan de Apollo Developer FAQ:

What security model does the Apollo runtime provide?

Our goal is to provide the functionality that developers need and want, while also allowing them to create secure applications.

While we are still finalizing the security policy, at the root of any policy is the fact that Apollo applications are download to and installed and run from the user's desktop. They thus run in a different security context than applications that run in the browser, and will have a security model closer to that of a desktop application.

My take: Ik ben er nog niet helemaal over uit hoe blij ik ben met het feit dat een Apollo applicatie veel meer toegang heeft tot mijn PC en dat een applicatie geinstalleerd moet worden voordat deze gebruikt kan worden. Desondanks heeft Adobe met Apollo wel een mooie formule in handen. Met Apollo zijn uitgebreidere Rich Internet Applicaties mogelijk dan met de huidige web browsers maar doordat Apollo zelf ook nog eens met Webkit (de rendering engine van Safari) komt wordt compatibiliteit met reeds bestaande websites en applicaties niet opgegeven. Clever.

Nieuw in Prototype 1.5

Scott Raymond, auteur van 'Ajax on Rails', heeft voor je gemak alle nieuwe features en aanpassingen in Prototype 1.5 op een rij gezet. Thema's:

Aan de slag met Firebug

Firebug's auteur Joe Hewitt heeft een puike tutorial gepubliceerd, 'AJAX Debugging with Firebug'. Met prima voorbeelden hoe je o.a. console functies en breakpoint debugging toepast. Even snel zien waarom Firebug 'web developer tool of the year' wordt genoemd? Bekijk hier een screencast.

Edit-in-Place met Rails

Dit keer zullen we met Ruby On Rails een simpele feature tonen. Af en toe heb je velden die je vaak wilt wijzigen en elke keer moet je eerst op de 'edit' knop drukken voordat je daadwerkelijk gegevens kunt wijzigen. Met Rails' scaffolding mogelijkheden lukt dit al aardig. We zullen stap voor stap laten zien hoe we een edit-in-place feature in je applicatie kunt toepassen, zodat bewerkingen via de traditionele scaffolding manier onnodig is.
(more...)

Simpel AJAX met Prototype

Laatste tijd zie je steeds meer Javascript libraries verschijnen, ook AJAX frameworks. In dit artikel zal ik het populaire Javascript library Prototype introduceren, met de nadruk op haar AJAX functionaliteit. Wanneer je veel met het XMLHttpRequest object werkt, zie je vaak dezelfde code terugkomen. Het XHR object aanmaken, server-side script met parameters aanroepen en data uitlezen. Ongetwijfeld zul je al een eigen createXMLHttpRequestObject() functie hebben, maar het leidt tot allemaal losse functies hier en daar, verspreid over verschillende bestanden. Met Prototype kunnen we eleganter code schrijven. In Afhankelijke listboxes met PHP, MySQLi en Prototype gaf Mathieu al een korte introductie tot de AJAX functionaliteit van Prototype, met dit artikel gaan we er dieper op in.
(more...)

Accessible AJAX web applicaties

Bij de term AJAX beginnen sommigen al gelijk te denken aan "geen usuability" of "accessbility is nul". Veel ontwikkelaars zijn onbekend op dit terrein. Daarom hebben meer informatie nodig omtrend deze mythes. Max Kiesler has done it again, een lijst met AJAX artikelen dit keer gericht op accessiblity rondom AJAX web applicaties. Een enorme waslijst met artikelen die de mythes rondom accessbility en usuability moet weghalen.

Nog meer Gotcha’s: AJAX Gotcha’s

Web 2.0 is niet alleen de tijd van Ajax maar kennelijk ook de tijd van lijstjes. Op Scriptorama doen we vrolijk mee. Vertelden we je eerder al over een lijst van PHP en Database gotcha's, vandaag hebben we dan de laatste die in het rijtje thuis hoort en dat is, je raad het al, een lijst van AJAX gotcha's.

Heb je zelf ook nog een paar punten waar je denkt dat je mede ontwikkelaar aan moet denken, bekijk dan het "AJAX gotcha's wiki" en voeg zelf wat toe aan de lijst!

JavaScript Object Notation: The Definite Guide

In de wereld van web services is XML de status quo. Sommigen vinden XML niet gepast voor kleine web applicaties, gezien de omvang van XML data weleens groot kan zijn. Er worden teveel bytes verstuurd voor de data waar het omdraait. Douglas Crockford heeft daarom een nieuw data exchange formaat bedacht. In dit artikel zullen we het uitgebreid hebben over JavaScript Object Notation (JSON).

(more...)

AJAX-pattern screencasts

Met Ruby-On-Rails is ook een kleine nieuwe traditie geboren: het gebruiken van screencasts. Je kent vast wel de beroemde "How to create a blog in 5 minutes" screencast van RoR.

Vandaag op Ajaxian staat een link naar iemand die 3 screencasts heeft gemaakt van zogenaamde "AJAX patronen".

  • Master Detail or Drill Down Pattern
  • Inline Editing Pattern and Real-Time Saving
  • Copy and Paste Pattern

Leuk om te zien.