
Pas tout a fait, il manque la lecture et l'éxécution du byte code abc.
cela fait longtemps qu'adobe a offert ça a mozilla.
Sauf que pour l'implémenter en javascript, il va falloir du boulot à la base il est en c++. donc il serait plus judicieux de transformer le byte code en javascript, de le stoquer gzipé dans le rep de l'application, et de l'exécuter à la demande.
https://developer.mozilla.org/en/Tamarin
ça a l'air intéressant.
le seul bémol étant la disponibilité pour certaines plateformes.
En Javascript : http://jqueryui.com/demos/
SJ veut des applications natives parce qu'il touche 30% de leurs prix de vente, faut pas aller chercher plus loin.
Niveau interface, je doute que l'utilisateur lambda soit capable de faire la différence entre UIKit et ça : http://www.jqtouch.com/
Je ne dis pas que les applications natives n'ont pas leur place, elles sont parfaitement justifiées pour les jeux, l'utilisation de l'appareil photo ou de l'accéléromètre, mais une grande partie des applications présentes sur l'App Store auraient parfaitement pu être faites en HTML et Javascript.
Google Docs, Zoho, bientôt MS Office...
Sinon pour ce qui est du HTML5 remplaçant le Flash, j'espère que ça arrivera un jour, mais ça ne semble pas pour tout de suite : http://html5readiness.com/
Quant à parler de convertisseurs Flash => HTML5 qui arrivent à convertir des bannières de pub, c'est pas vraiment ça l'intérêt... Le jour où ils le feront pour applications Flex entières ce sera autre chose.

Si je comprends , c'est le parser javascript de mozilla ? euh, j'ai rien compris
En fait, ça ne me dérange pas de me limiter à Chrome, sans me la jouer S.Jobs. Les 3 navigateurs sont installés sur toutes mes machines, Chrome s'installe en 3mn chrono, en plus , c'est mon préféré des 3..
J'aimerais bien remercier la fondation mozilla pour le service rendu pendant des années mais là, mon ADN à chopé le gène Chrome !
Cela dit, même ultra optimisé, il me semble difficile d'égaler le rendu et la réponse d'un programme installé via un vieux setup. Je fais du traitement de signal et je mets toujours le temps dans l'axe des X scrollable ce qui me donne un genre d'Audacity (en + beau). Il faut reconnaitre que le web parvient à donner le change pour les applications de type document mais pour le signal, c'est nul !
Par contre, c'est génial pour les rapports synthétiques, mais pas pour manipuler le raw signal. D'autant que mes algoritmes de scroll sont bien optimisés et fluides. Pas envie de laisser un navigateur pour grand-mères scroller à ma place, chacun ses petites manies
Quant à la perf : je manipule des pages de 200 Mb et des documents de 3 à 50 Gb et l'affichage de la première fenêtre arrive en 0.5 s. au démarrage. Ensuite, les temps de scroll sont de quelques ms. Le chargement depuis le disque dure 2 ~ 3 s. Le traitement d'1 Go de binaire va de 5 à 20 s. et une minute par Go de sqLite . L'équivalent en web dépasserait une vie humaine![]()
Dernière modification par Invité ; 02/06/2010 à 10h55.
En fait c'est la machine virtuelle d'action script, le moteur qui exécute l'action script 3 dans le flash player. Adobe l'a donnée à Mozilla il y a deux trois ans.
Mozilla s'en ai pas vraiement servi, il on gardé le jitc, et on laissé le reste, mais il le laisse sur leur serveur. c'est ecrit en c++ et les sources sont téléchargeable.
Ça permet de compiler de l'action script en ABC, de l'exécuter, et de le décompiler, avec jitc, etc
Première bride de convertisseur action script >javascript en vue.
Ecrit en c#.
///action script
public class stringTest
{
private var s:String = "s";
public function stringTest(a:String) {
this.s = a;
}
public function size() :int{
return this.s.length;
}
public function toString() :String{
return this.s ;
}
public static function intfo(a:String) :void{
alert(a.toString() + " size" + a.size());
}
}
var b:stringTest = new stringTest("hello the world");
alert( b.size());
stringTest.intfo(b);
vous pouvez testez ça tourne sous ff,ie6,safarie,chrome;//javascript
<script language="javascript">
this.stringTest=function( a )
{
this .s = a;
}
var c=(function (){try{
this.prototype.s/*:s*/ = "s";
this.prototype.size =function()/*:uncknow*/
{
return this .s.length;
}
this.prototype.toString =function()/*:uncknow*/
{
return this .s;
}
this.intfo =function(a )/*:void*/
{
alert(a.toString() + " size" + a.size());
}
}catch(err){return err;}return true;}).apply( stringTest)
c=c!=true?alert(c):c;
b = new stringTest("hello the world");
alert(b.size());
stringTest.intfo(b);
</script>
ça prend bien compte que intfo est static,
alors que size() ne l'est pas.
bref, c'est rigolo

Je vais faire mon papiC :
Peux tu mettre du code conditionnel sous flash (ton ide de dev/debug) :
Genre
Si tu peux te bricoler un truc comme ça, tu peux pousser ton multiplateforme très loin. [/papiC]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9/* #if iPhone box(1,1,64,64); #if iPad box(4,1,170,170); #else pbox("100%"); // sinon on aura deux box(); */
Autre chose :
Ya une bonne interview video de Steve Jobs sur leMonde.fr, il parle de flash et je crois que ça relativise pas mal. La video c'est mieux que l'écrit , surtout sur les sujets sensibles.
alors en fait le logiciel s'appelle gond
ce n'est pas un compilateur.
Il prend un code c# ou action Script le convertit en une représentation object en memoire. chaque type d'oject ayant ensuite une règle d'écriture.
exemple les fields :
Donc pour l'instant tout ce qui est précédé de # est un commentaire hormis #region (comme en c#)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476public static fastString AscriptFieldToCode(AscriptField fie, Gond.Code.CodeType _CodeType, fastString fs, int level) { if (_CodeType == Gond.Code.CodeType.cSharp) { int il = fie.commentaires == null ? 0 : fie.commentaires.Length; for (int i = 0; i < il; i++) { AscriptToCode(fie.commentaires[i], _CodeType, fs, level); } addNewLine(level, fs); //fs.espace(); if (fie._modificateurAcces == 0) { fs.W(AscriptReader.__public); fs.espace(); } else if (fie._modificateurAcces == 1) { fs.W(AscriptReader.__private); fs.espace(); } else if (fie._modificateurAcces == 3) { fs.W(AscriptReader.__protected); fs.espace(); } else if (fie._modificateurAcces == 2) { fs.W(AscriptReader.__internal); fs.espace(); } if (fie.isUnsafe) { fs.W(AscriptReader.__unsafe); fs.espace(); } if (fie.isStatic) { fs.W(AscriptReader.__static); fs.espace(); } if (fie.isConst) { fs.W(AscriptReader.__const); fs.espace(); } if (fie.isReadonly) { fs.append(AscriptReader.__readonly); fs.espace(); } if (fie.isVolatile) { fs.append(AscriptReader.__volatile); fs.espace(); } if (fie.isOverride) { fs.append(AscriptReader.__override); fs.espace(); } /*if (fie.isSealed) { fs.W(AscriptReader.__sealed); fs.espace(); } if (fie.isAbstract) { fs.W(AscriptReader.__abstract); fs.espace(); }*/ /*if (fie.type != null) { fs.W(fie.type.name); } else { }*/ if (fie.type == null) { fs.W("void"); } else { fs.W(fie.type.name); } if (fie.isArray) { fs.W("[] "); } if (fie.isPointeur) { fs.W("* "); } if (fie.isGenerique) { fs.W("<"); fs.W(fie.Generiquetype.name); fs.W("> "); } fs.espace(); fs.W(fie.name); fs.espace(); il = fie.objects == null ? 0 : fie.objects.Length; string ss = ""; if (il > -1) { for (int i = 0; i < il; i++) { try { ss += AscriptToCode((Ascript)fie.objects[i], _CodeType); } catch (Exception ex) { System.Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace); } } } if (ss != "") { fs.append('='); fs.W(ss); } //fs.W(";"); /*il = fie.heritage == null ? 0 : fie.heritage.Length; if (il > -1) { fs.W(" : "); for (int i = 0; i < il; i++) { fs.W(fie.heritage[i].ToString()); if (i < il - 1) { fs.append(','); } } }*/ //"{}"; } else if (_CodeType == Gond.Code.CodeType.doc) { int il = fie.commentaires == null ? 0 : fie.commentaires.Length; for (int i = 0; i < il; i++) { AscriptToCode(fie.commentaires[i], _CodeType, fs, level); } addNewLine(level, fs); fs.W(fie.name); fs.W(" est un champ "); //fs.espace(); if (fie._modificateurAcces == 0) { fs.W("publique"); fs.espace(); } else if (fie._modificateurAcces == 1) { fs.W("privé"); fs.espace(); } else if (fie._modificateurAcces == 3) { fs.W("protégé"); fs.espace(); } else if (fie._modificateurAcces == 2) { fs.W("interne"); fs.espace(); } if (fie.isUnsafe) { fs.W(AscriptReader.__unsafe); fs.espace(); } if (fie.isStatic) { fs.W(AscriptReader.__static); fs.espace(); } if (fie.isConst) { fs.W(AscriptReader.__const); fs.espace(); } if (fie.isReadonly) { fs.append(AscriptReader.__readonly); fs.espace(); } if (fie.isVolatile) { fs.append(AscriptReader.__volatile); fs.espace(); } if (fie.isOverride) { fs.append(AscriptReader.__override); fs.espace(); } /*if (fie.isSealed) { fs.W(AscriptReader.__sealed); fs.espace(); } if (fie.isAbstract) { fs.W(AscriptReader.__abstract); fs.espace(); }*/ /*if (fie.type != null) { fs.W(fie.type.name); } else { }*/ if (fie.isArray) { fs.W("tableau "); } fs.W("de type "); if (fie.type == null) { fs.W("void"); } else { fs.W(fie.type.name); } if (fie.isPointeur) { fs.W("* "); } if (fie.isGenerique) { fs.W(".Qui est aussi générique de type "); fs.W(fie.Generiquetype.name); fs.W(""); } fs.espace(); //fs.W(fie.name); fs.espace(); il = fie.objects == null ? 0 : fie.objects.Length; string ss = ""; if (il > -1) { for (int i = 0; i < il; i++) { try { ss += AscriptToCode((Ascript)fie.objects[i], _CodeType); } catch (Exception ex) { System.Console.WriteLine(ex.Message + "\r\n" + ex.StackTrace); } } } if (ss != "") { fs.W(".Qui prend pour valeur "); fs.W(ss); } fs.W("."); /*il = fie.heritage == null ? 0 : fie.heritage.Length; if (il > -1) { fs.W(" : "); for (int i = 0; i < il; i++) { fs.W(fie.heritage[i].ToString()); if (i < il - 1) { fs.append(','); } } }*/ //"{}"; } else if (_CodeType == Gond.Code.CodeType.ActionScript) { int il = fie.commentaires == null ? 0 : fie.commentaires.Length; for (int i = 0; i < il; i++) { AscriptToCode(fie.commentaires[i], _CodeType, fs, level); } //addNewLine(level, fs); if (fie._modificateurAcces == 0) { fs.W(AscriptReader.__public); fs.espace(); } else if (fie._modificateurAcces == 1) { fs.W(AscriptReader.__private); fs.espace(); } else if (fie._modificateurAcces == 3) { fs.W(AscriptReader.__protected); fs.espace(); } else if (fie._modificateurAcces == 2) { fs.W(AscriptReader.__internal); fs.espace(); } if (fie.isStatic) { fs.W(AscriptReader.__static); fs.espace(); } if (fie.isUnsafe) { fs.W(AscriptReader.__unsafe); fs.espace(); } if (fie.isConst) { fs.W(AscriptReader.__const); fs.espace(); } /* if (fie.isSealed) { fs.W(AscriptReader.__sealed); fs.espace(); } if (fie.isAbstract) { fs.W(AscriptReader.__abstract); fs.espace(); }*/ /*if (fie.type != null) { fs.W(fie.type.name); } else { }*/ fs.W(" "); fs.append(' '); fs.W(fie.name); if (fie.isGenerique) { fs.W("<"); fs.W(fie.Generiquetype.name); fs.W("> "); } fs.append(':'); if (fie.type == null) { fs.W("Void"); } else { if (!fie.isArray) { fs.W(fie.name); } else { //addNewLine(level, fs); fs.W("\t"); fs.W("Array/*"); fs.W(fie.type.name); fs.W("*/"); } //fs.W(fie.type.name); } il = fie.objects == null ? 0 : fie.objects.Length; string ss = ""; if (il > -1) { for (int i = 0; i < il; i++) { ss += AscriptToCode((Ascript)fie.objects[i], _CodeType); } } if (ss != "") { fs.append('='); fs.W(ss); } // fs.W(";"); // fs.W(";"); /*il = fie.heritage == null ? 0 : fie.heritage.Length; if (il > -1) { fs.W(" : "); for (int i = 0; i < il; i++) { fs.W(fie.heritage[i].ToString()); if (i < il - 1) { fs.append(','); } } }*/ //"{}"; }else if (_CodeType == Gond.Code.CodeType.javascript) { int il = fie.commentaires == null ? 0 : fie.commentaires.Length; for (int i = 0; i < il; i++) { AscriptToCode(fie.commentaires[i], _CodeType, fs, level); } if (fie.isStatic) { fs.W("this.");//fs.W("/*static*/var"); } else { fs.W("this.prototype."); }//addNewLine(level, fs); /* if (fie.isSealed) { fs.W(AscriptReader.__sealed); fs.espace(); } if (fie.isAbstract) { fs.W(AscriptReader.__abstract); fs.espace(); }*/ /*if (fie.type != null) { fs.W(fie.type.name); } else { }*/ //fs.W(" "); // fs.append(' '); fs.W(fie.name); fs.W("/*"); fs.append(':'); if (fie.type == null) { fs.W("Void"); } else { if (!fie.isArray) { fs.W(fie.name); } else { //addNewLine(level, fs); fs.W("\t"); fs.W("Array "); fs.W(fie.type.name); fs.W(" "); } //fs.W(fie.type.name); } fs.W("*/"); il = fie.objects == null ? 0 : fie.objects.Length; string ss = ""; if (il > -1) { for (int i = 0; i < il; i++) { ss += AscriptToCode((Ascript)fie.objects[i], _CodeType); } } if (ss != "") { fs.append('='); fs.W(ss); } // fs.W(";"); // fs.W(";"); /*il = fie.heritage == null ? 0 : fie.heritage.Length; if (il > -1) { fs.W(" : "); for (int i = 0; i < il; i++) { fs.W(fie.heritage[i].ToString()); if (i < il - 1) { fs.append(','); } } }*/ //"{}"; } return fs; }
Aprés les conditions peuvent être implémentées.
Je vais regarder si je trouve la vidéo.

En fait je disais ça parce que je pensais que le code flash était édité sur l'ide mais si je comprends, tu peux utiliser visual studio.
VS ne fait pas grand chose en graphique (rien même) mais comme éditeur de code , il n'y a pas mieux..
Donc tu édites du javascript sur VS , moi je cherche un petit éditeur js sympa, coloration syntaxique et navigation dans le code comme avec VS.
Une idée ?
Bonne continuation en tout cas, j'espère que gond sera à la hauteur de tes attentes.
Dernière modification par Mejdi20 ; 04/06/2010 à 13h38.
Il faudrait que je teste sur un appareil pour me faire une idée (sur mon navigateur en tout cas ça ne semble pas marcher), mais dans tous les cas, il y a redondance d'une part (ça sert à quoi si ça copie UIKit, ça ne sera pas adapté aux autres appareils alors pourquoi ne pas utiliser UIKit directement ?), et tu ne bénéficies pas des améliorations éventuelles d'Apple d'autres part, et pas sûr non plus que ton application du coup s'adapte aussi bien aux préférences de l'utilisateur...
Bref, j'ai du mal à saisir l'intérêt technique. (mais peut-être que l'intérêt est de ne pas subir la politique d'Apple, mais là, la solution c'est de ne pas développer pour Apple du tout).
Alors le code de gond est en c# et est un ide.
Il regroupe une petite app de dessin vectoriel, pour la quel chaque objects peut être exporté en code c#( même type de comportement graphics que flash).
Il a aussi un rad base de donnée Mssql+c#,sqlite+c# ou php,Mysql +php et actions script.
Il intègre donc aussi des parseurs de code ( utilisée à la foi pour faire une représentation graphics du code sous forme d'une tree view et pour convertir dans un autre language, faire l'autocompletion etc ).
Il permet de gérer des projet c# et action script, d'editer leur code et de parcourir les fichiers, de compiler(via les compilateurs des languagues si ils sont invocable en ligne de command ) etc.
Il intègre aussi divers outils, zippage, exploration dbb editeur html ....
Dit comme ça il ressemble a un outils fort sympathique.
Sauf que l'éditeur vectoriel n'est pas terminée et est très largement dépassé par inkascape flash, illustrator.
L'éditeur de code c# et As et dépassé par le vs, flashDevelop, et surement sharpdevlop, sans parler de monodevlop.
le rad est dépassé par celui de windev.
Les librarys de parsage n'utilise pas les expressions régulières du coup sur du gros projet c'est pas le feu.
L'éditeur html est basé sur l'active x d'ie6, donc dépassé.
Et comme il est en c# il est dé-compilable en trois cliques, donc impossible a vendre,
etc...
Le seul gros avantage est d'avoir et de connaitre les sources. ce qui permet d'ajouter des functions de temps en temps comme la conversion action script vers javascript ou la conversion de svg en swf.
C'est un peut une usine a gaze des fois pratique, des fois pas.
voila pour gond.
Ensuite pour la question d'un bonne idee javascript la réponse est que je n'en connais pas. Car le javascript depuis ie et netscape, j'ai pris partis de l'éviter autant que possible. En cas de besoin j'utilise gond en renommant les .js en .as du coups il les parses comme du code action script sa fait une colorisation syntaxique, et une vue des objets dans la tree view des classes. Mais c'est pas le feu. D'autant que le gros problème du js. Et que le typage n'est pas obligatoire, du coup avec un code comme :
Comme il n'y a pas de type déclaré pour la variable on ne peut pas faire afficher l'auto complétion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var nomPrenom;
C'est pas une copie d'UIKit, juste un ensemble d'effets et de graphismes comparables à UIKit, à mon sens idéal pour les utilisateurs iPhone lambda "c'est bien parce que c'est beau".
L'intérêt ? C'est du web, donc accessible à tout smartphone, et Apple n'a pas son mot à dire. Plutôt que d'aller faire de l'Objective-C pour iPhone, du Silverlight pour Windows Phone 7 et du Java pour Android, il n'y a que des technologies web à maîtriser.
Les préférences utilisateurs ? Il y a plutôt le choix : sessions, base de données, cookies...

Voici la video de S. Jobs.
http://www.lemonde.fr/technologies/a...#xtor=RSS-3208
Je ne suis pas convaincu par ces propos, sauf peut-être sur le fait qu'adobe n'est pas amenée un player sur iphone suffisamment puissant pour convaincre Apple. Ce point ne m'étonnerais pas, d'autant plus que la version 10.1 vient tout juste de passer en realease candidate 7 pour pc et net book.
Donc la un bon discours c'est celui de google:
<<
- bonjour vous avez un player pour notre plateforme qui tourne bien, on envisage de l'implémenter dans notre système ?
- hum non, il est en cours de développement, on est à fond dessus.
- ha, d'accord et bien pour l'instant on fait sans, mais "move our ass" il y a des technologies concurrentes qui demandent à prendre votre place.
>>
le résultât est le même. Pas de player offert par adobe. pas de player sur la plateforme.
Mais SJ a pris partie de diaboliser adobe, adobe passe pour une victime, et du coup des personnes s'opposent à lui...
Mais s'il avait dit dès le début,
<
-flash, on le veut sur notre plateforme ! Mais pour l'instant adobe n'a pas mis de player convenable à disposition. Donc pour l'instant c'est sans flash.
>
Le résultat aurait été le même, mais le tout aurait beaucoup mieux passé.
SJ veut que tout ce qui passe chez lui soit payant et lui rapporte il utilise tous les moyens et c'est tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 le résultat est le même. Pas de player offert par adobe. Pas de player sur la plateforme. Mais SJ a pris partie de diaboliser adobe, adobe passe pour une victime, et du coup des personnes s'opposent à lui... Mais s'il avait dit dès le début, < -flash, on le veut sur notre plateforme ! Mais pour l'instant adobe n'a pas mis de player convenable à disposition. Donc pour l'instant c'est sans flash. > Le résultat aurait été le même, mais le tout aurait beaucoup mieux passé.
Payant pas forcément. Mais c'est clair qu'il a toujours voulu avoir le contrôle total sur la conception, la fabrication, la vente de ses appareils. Avec les Ipod, il a ajouté à cela le contrôle sur la vente/distribution en ligne de musique. Ça semble donc logique qu'avec les IPhone/Ipad, il veuille aussi controler la vente/distribution en ligne d'applications.
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
Je rajouterais aussi une chose, SJ parle de ne pas investir sur une technologie mourante.
Je me pose la question : De quel investissement parle-t-il ?
En partant du postula qu'il y ait un pluguin disponible pour iphone. Si un utilisateur souhaite le télécharger, je ne vois pas où se trouve l'investissement de la part d'apple.
Par contre, on peut parler d'investissement quand adobe développe un convertisseur/packer permettant de publier un fla en une application native pour iphone. Et on peut parler de perte pour Adobe quand Apple attend sagement la sorti officiel du module pour changer ces conditions d'utilisation. Sans même laisser Adobe faire ou ne pas faire ses preuves avec son module.

S'agit-il d'un conflit frontal entre Adobe et Apple ou d'une divergence de vue sur une famille de technos d'une autre époque. L'époque ou HTML ne faisait que des documents statiques et ou Flash faisait "tout ce qui bouge"
Plusieurs banques viennent d'annoncer une application iPad pour gérer les comptes, Libe vient de sortir son e-version, le plébiscite autour de modèle économique est bien réel. On peut imaginer qu'une banque offre un iPad en bundle à ceux qui ouvrent un compte chez elle, juste pour limiter les problèmes de sécurité. Cette "ramification" économique du modèle Apple (dirigiste) tranche drastiquement avec le libertarisme des années 2000.
Je veux bien qu'on dise que c'est juste une histoire de gros sous mais ce que j'aime bien dans l'interview c'est la réponse de Jobs : si ça plait pas, les gens n'achètent pas , c'est tout. (applaudissement)
C'est presque une caricature de la vision américaine de la démocratie. En Europe, on fait des sondages, aux usa on pense que les gens mentent tant qu'ils ne payent pas. S'ils payent, c'est qu'ils y croient.
Je pense qu'Adobe est victime de son succès : impossible d'être le même sur plateformes µsoft et Apple dont les philosophies sont diamétralement opposée.
Il a (comme tout le monde) sous-estimé le succès d'Apple auquel il aurait dû dédier une plateforme Flash spécifique. De même , s'il avait profité de ses années de monopole pour normer Flash, permettre à des concurrents (genre Apple) de travailler directement sur ses sources sous licence sans être trop gourmand.
Autrefois indépendant la plateforme, Adobe doit maintenant intégrer les "religions" des principaux fournisseurs et son modèle n'est pas assez "collaboratif" , il essaye d'intégrer tout et son contraire dans un produit unique et s'effondre devant la complexité. µsoft avait à peu près le même modèle business mais l'a fait évoluer (Mono, ...) . Le marché de l'internet est trop gros pour un seul éditeur.
Cela m'explique la radicalisation de ce conflit. Alors que Apple / iTunes a toujours été une alternative pour les fournisseurs de contenu payant, la communauté Flash semble tiraillée entre le libertaire de ses utilisateurs et l'opacité de l'éditeur. Flash a trop de qualités sans avoir de profil très précis, il a servi de béquille à HTML et ça suffisait, maintenant il va falloir faire à la main ce qu'il n'a pas fait : des versions spécifiques.
Dernière modification par Mejdi20 ; 04/06/2010 à 14h13.
Il semblerait qu'Apple puisse reconsidérer les choses concernant Flash.
Source : http://www.macuser.co.uk/news/278122...-and-ipad.htmlSteve Jobs has hinted that Apple could re-consider its decision not to allow Adobe's Flash technology on the iPhone or iPad.
Speaking at the D8 conference in California, Jobs answered numerous questions on the issue. 'Some things are good in a product, some things are bad,' he said. 'If the market tells us we're making bad choices, we'll make changes. We're just trying to make great products.'
Jobs maintained his stance that Apple's objection to Flash is a technical one: 'We just made a technical decision. [We] told Adobe [that] if you ever have this thing running fast, come back and tell us. We shipped iPhone without Flash, too. [It] wasn't until iPad that Adobe raised a stink.'
The Apple CEO also discussed the early development of the iPad and told attendees that the iPhone was born from an idea he had for a multi-touch tablet. 'I had this idea about having a glass display, a multi-touch display you could type on. I asked our people about it. And six months later they came back with this amazing display,' Jobs said. 'And I gave it to one of our really brilliant UI guys. He then got inertial scrolling working and some other things, and I thought, "my God, we can build a phone with this," and we put the tablet aside, and we went to work on the phone.'









et si Google interdit accès à son moteur de recherche via les autres navigateurs ( mozilla , internet explorer , safari ....).
et on verra la réaction de tout ce beau monde![]()
Partager