|
|
|||||
|
|
|
Philosophie du développement WebDev
|
|
||
| Cet article
s'adresse aux développeurs 'classiques' qui veulent se mettre au
web
Où a ceux qui s'y sont déjà mis et sont un
peu perdus
Le passage de WinDev à WebDev devrait être sans douleur, et sur beaucoup de plans, il l'est. Un gros problème reste : la philosophie du développement. Cela peut paraître un grand mot, mais vous allez voir que considérer les choses sous cet angle peut vous faire faire des progrès très rapides. Lors du développement d'un programme classique (avec WinDev par exemple), le développeur a littéralement tout sous la main : le code et l'interface sont fondues l'un dans l'autre, et tout est toujours accessible Dés qu'on ouvre l'éditeur de code de WebDev, on se rend compte qu'il se passe quelque chose : code navigateur d'un coté, code serveur de l'autre, fonctions disponibles d'un coté et pas de l'autre, ordre d'exécution des codes Il y a de quoi se poser des questions, et à juste titre WebDev essaye d'atténuer les difficultés de programmation 'web' et il y réussit sur bien des points (voir article sur le mode AWP, en particulier) Mais il n'en demeure pas moins que sans un mode de raisonnement différent, vos sites WebDev vous feront tourner en bourrique. La grosse différence qu'il faut réussir à se mettre en tête, c'est qu'un site Web n'est PAS un programme Même si du code est exécuté ! Un site web, c'est plutôt une collection de programmes qui discutent
entre eux : Si vous arrivez à penser de cette façon, tout va s'éclaircir
: En fait, par rapport à un programme traditionnel, c'est un peu comme si chaque fenêtre était compilée dans un exe séparé, et que tout le code d'accès aux fichiers et autre soit dans un gros exe à part Ajoutez des communications entre eux, et voila Mais prenons un exemple concret : info(" MonMessage ") est une instruction des plus basiques Mais si vous l'utilisez sans y réfléchir sérieusement en code serveur, elle ne va pas s'exécuter En tout cas pas tout de suite Elle ne s'exécutera que lorsque la prochaine page sera envoyée du serveur à la machine cliente ou tout affichage a lieu. Donc, quand en WinDev un info est bloquant, il ne l'est pas en WebDev code serveur Surprise ! En tout cas si vous continuer à penser en terme de programmation classique ! Par contre, si vous avez en tête des programmes séparés, ça devient parfaitement normal Prenons un autre exemple : Mais vos conditions dépendent aussi du contenu de certains fichiers. Ce qui signifie que vous devez envoyer les actions utilisateurs (cases cochées par exemples) au serveur pour examiner des fichiers Nous parlons donc maintenant de code serveur C'est le mélange des deux qui va poser problème si vous n'y pensez pas de la bonne façon Combien de fois voit-on passer sur des forums des questions sur la façon d'exécuter du code navigateur depuis le serveur Voici comment les choses doivent se passer :
Faite du classique, comprenez BIEN comment ça se passe, et on parlera d'ajax plus tard Compliqué ? Oui et non Encore une fois, la philosophie de la chose est deux programmes qui dialoguent via le web Imaginez les deux ordinateurs reliés par deux modems et vous vous ferez une bien meilleure idée de ce qui doit être fait ou Prenons un autre exemple des différences profondes entre un programme classique et un site web Dans un programme classique, il n'est pas rare d'avoir une fenêtre principale qui ouvre des fenêtres secondaires qui ouvrent des fenêtres tertiaires, etc Si ces fenêtres sont modales, l'utilisateur ne peut accéder qu'à une fenêtre à la fois et revient forcémnt sur ses traces Si elles ne sont pas modales, en général, l'utilisateur est perdu, donc revoyez votre interface Dans un site web, vous pouvez aussi ouvrir de multiples navigateurs (ou
des popup)
Mais la notion de fenêtre modale n'existe pas
Ce qui a deux conséquences : Pensez donc à votre application web comme un programme qui n'a qu'une fenêtre ouverte à la fois Tout ce qui est nécessaire à votre traitement devrait donc se trouver dans des variables globales (ou de classes) et dans la fenêtre courante Ne comptez sur rien d'autre que ça et tout ira bien mieux
|
|||||
| Links: |
|
||||