Discussion: divers problemes Ajax
Afficher un message
Vieux 05/09/2007, 23h03   #47
Laurent vilday
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: divers problemes Ajax

ASM a écrit :
> En réponse à Bruno Desthuilliers qui écrivit, en date du : 30/08/07
>> Tâche que certaines bibliothèques tant décriées par notre ami ASM
>> facilite grandement (jQuery, entre autres

>
> .... je suis désolé de maintenir ma position :


Ehehe, soit pas désolé Stéphane, assumes

> - je continue à penser que ça n'évite pas les dérives et mésemplois du
> code html/css/script-client/script-serveur,


Si peu. Dernièrement j'ai vu un truc à peu près comme ça :

<div style="display:inline" id="link_23">Check my realisations</div>
<script>
$('link23').click(function() { window.location = itemGetter(23); };
</script>

J'avoue ne toujours pas saisir l'intérêt, mais bon le mec était super
hype, ça clignotait de partout, en n'utilisant que la bagatelle de 3 ou
4 librairies sur chaque page :p

> Pour résumer, les biblis c'est :
> - lourd


Humm, quand j'ai un client qui me balance 20 images de 500k sur la même
page, j'ai tendance à ignorer la problématique du "la librairie est trop
grosse". D'autant qu'ils existent de nombreuses méthodes pour réduire la
taille.

La plus simple c'est évidemment mod_gzip.

Suivi je pense par un peu d'expression régulière sur du code javascript
strict (pas de ; manquants, pas de {} manquants, etc.
<http://www.jslint.com/>) - si ça intéresse qqun je peux fournir ma
méthode PHP qui réduit tout mes javascripts, suffit de demander -

Et pour finir si vraiment c'est pas assez mais j'en doute, au pire il
reste les packers, YUI compressor et autre dojo shrink safe
<http://ajaxian.com/archives/compressorrater-compare-the-squeeze>

> - incompréhensible


Meuh non lol.

librairie PlotKit, Layout.js, ligne 344 à 350

var collapse = PlotKit.Base.collapse;
var map = PlotKit.Base.map;
var getter = MochiKit.Base.itemgetter;
var items = PlotKit.Base.items;

var xvalues = map(parseFloat, map(getter(0), collapse(map(getter(1),
items(this.datasets)))));

Ou tu vois du compliqué toi ?

Petite explication de ce que ça fait. En gros ça transforme un tableau
comme ceci :

var datasets = [
[1,23], [2,10], [3,40], [10,50],
[0,17], [1,40], [2,20], [3,40], [4,10]
];

en ceci : [0,1,2,3,4,5,6,7,8,9,10]

Je me rend bien compte qu'une bête boucle " for " c'était pas assez
hype, map(itemgetter()) ca le fait tellement plus

> - à n'utiliser qu'en *parfaite* connaissance


Si seulement

> Néanmoins je ne peux que reconnaitre leur utilité dans le développement
> d'un site *bien pensé*.
> (je suis idiot mais pas au point de dire qu'elles sont à bannir)


Tant pis, je vais tenir le rôle de l'idiot alors. Je comptais sur toi
pourtant :p

Les librairies *sont* à bannir car il n'existe que 2 cas de figure

1) vous connaissez javascript et par conséquent vous avez vos propres
librairies adaptées à vos besoins et donc pas besoin de YUI, jQuery,
Prototype et autre Ext

2) vous ne connaissez pas javascript et par conséquent il est recommandé
de ne pas approcher ces librairies qui ne feront que vous embrouiller.
On fait du javascript, pas du javascript à la ruby comme Prototype fait
par exemple.

Moralité, pas de librairies ! D'autant qu'il suffit de mettre le nez 2
minutes dans n'importe lesquelles de ces librairies pour se demander si
c'est un humain qu'à réellement pondu une telle sal... oops pardon une
telle chose.

--
laurent
  Réponse avec citation
 
Page generated in 0,06053 seconds with 9 queries