Syndication : Atom 1.0  RSS 2.0
Blogs des développeurs   »   adiGuba:Blog

23/06/2009

Permalink 10:04:40, Catégories: GUI, Android, Android, 280 mots   French (FR) , adiGuba

[Android][Java] Petit parallèle entre Swing et l'UI d'Android

Je commence tout doucement à m'intéresser de plus près au développement sur Android, et même si je n'ai pas encore eu le temps de me plonger dans les spécificités de son API graphique, j'ai déjà pu remarquer qu'on y retrouve les mêmes concepts et les mêmes problèmes...

En effet, en parcourant le blog officiel des développeurs d'Android, je suis tombé sur un article de Romain Guy décrivant les problèmes de threading des applications Android.

Pour faire court : l'interface d'une application Android utilise un modèle mono-thread via l'UI-thread, et toute tâche un tant soit peu longue ne doit pas y être exécuter sous peine de bloquer l'interface utilisateur. Afin d'éviter cela on doit utiliser un nouveau thread, tout en continuant à mettre à jour l'affichage dans l'UI-thread afin de respecter le modèle mono-thread. On peut utiliser pour cela la classe AsynTask qui permet de simplifier toutes ces interactions entre threads...

Pour l'analogie : l'interface d'une application AWT/Swing utilise un modèle mono-thread via l'Event Dispatch Thread (EDT), et toute tâche un tant soit peu longue ne doit pas y être exécuter sous peine de bloquer l'interface utilisateur. Afin d'éviter cela on doit utiliser un nouveau thread, tout en continuant à mettre à jour l'affichage dans l'EDT afin de respecter le modèle mono-thread. On peut utiliser pour cela la classe SwingWorker qui permet de simplifier toutes ces interactions entre threads...

Et pour l'anedocte : on retrouve sur developpez.com un viel article de Romain concernant ce problème sur Swing : Threads et performance avec Swing

Bref pour le moment je ne suis pas trop perdu :D

Vous devez être identifié pour poster un commentaire.

03/11/2008

Permalink 17:37:22, Catégories: Java, Langage(s), Exercices, 815 mots   French (FR) , adiGuba

[Java] Exercice Java : POO, encapsulation et immuabilité

Aujourd'hui j'inaugure un genre nouveau avec de petites exercices en rapport avec Java, dans l'objectif de mieux comprendre les rouages et les particularités du langage.

Nous allons donc voir qu'avec une mauvaise conception d'une classe toute simple, il est possible de "casser" le principe encapsulation, si chère à la POO, et qui permet à une instance de classe de protéger ses attributs d'éventuelles modifications externes...


» Lire la suite!

Vous devez être identifié pour poster un commentaire.

30/10/2008

Permalink 15:38:09, Catégories: Linux, le libre et l'open-source, Récapitulatif Linux, 85 mots   French (FR) , adiGuba

[Linux] Ubuntu 8.10 : le "bouquetin intrépide" est là !

Ubuntu

La nouvelle version de la très populaire distribution GNU/Linux est disponible au téléchargement. Ce n'est pas réellement une surprise puisque la date de sortie exact était prévu selon le mode de publication bi-annuel, et qu'elle est arrivée en temps et en heure !

Pour ma part je vais attendre quelques jours que les serveurs ne soient pas trop surchargés afin d'effectuer ma première migration automatique via l'outil de mise à jour.

Vous devez être identifié pour poster un commentaire.

29/10/2008

Permalink 10:39:29, Catégories: Java, 7 (Dolphin), Langage(s), 3526 mots   French (FR) , adiGuba

[Java] Où va Java ? Les Closures (style FCM)

Après BGGA et CICE, voici une présentation de la proposition de closures FCM qui se place exactement entre les deux précédentes : à la fois plus simple que BGGA mais également plus complète que CICE.

FCM se présente comme un compromis entre les deux, en proposant une approche plus simple sans pour autant trop perdre de possibilités.

De plus, tout comme "BGGA", la proposition "FCM" propose également un prototype sur lequel je me suis basé dans cet article (FCM-2008-02-25.zip), mais malheureusement il n'implémente pas toutes les fonctionnalités de la proposition...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

22/10/2008

Permalink 13:59:02, Catégories: Java, Perfs, Langage(s), 1547 mots   French (FR) , adiGuba

[Java] De l'utilité du constructeur String(String)

Rien n'est complètement inutile, malgré des apparences qui pourraient laisser présager le contraire...

L'API Java propose un constructeur de copie String(String) pour la classe String. Pour rappel le constructeur de copie est une notion très importante en C++ où des copies d'objets sont obligatoires afin de gérer proprement la mémoire (lorsqu'on n'utilise pas de GC), sinon on ne saurait plus si l'objet est libérable ou pas. A l'inverse, en Java ce concept est rarement utilisé puisque le GC couplé à la notion d'immuabilité des classes permet de partager des instances entre plusieurs classes sans que cela ne cause de problème. Cela permet d'éviter d'avoir à faire de multiples copies de protection...

La classe String étant immuable, la création de copie de protection est donc inutile. De ce fait pendant longtemps j'ai pensé que la présence de ce constructeur de copie String(String) était une bizarrerie de l'API, que l'on se traine pour des raisons de compatibilité ascendante.

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

11/09/2008

Permalink 12:10:27, Catégories: Web, XHTML et CSS, Info, Récapitulatif Web, 1537 mots   French (FR) , adiGuba

[Web] Comment le terme "Mozilla" s'est-il retrouvé dans tous les User-Agents...


Ceux qui ont déjà jeté un coup d'oeil à l'User-Agent de leur navigateur auront sûrement remarqué la présence quasi-constante du terme "Mozilla", et cela quel que soit le navigateur (même Internet Explorer) !

Pour rappel, l'User-Agent est un champ envoyé par les clients Web afin d'informer le serveur sur la nature du client. On devrait normalement y retrouver le nom et la version du navigateur...

Toutefois, depuis le début du web, le petit monde des navigateurs n'a cessé d'évoluer, et à plusieurs reprises un navigateur s'est retrouvé en situation de domination, souvent du fait de ses innovations technologiques. De là est née la notion d'user-agent sniffing, système consistant à présenter le site différemment selon le navigateur utilisé. L'objectif était de pouvoir utiliser ces nouvelles technologies tout en présentant une version simplifié aux autres navigateurs.

C'est à partir de là que l'user-agent à été quelque peu détourné...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

04/09/2008

Permalink 12:02:33, Catégories: Java, 7 (Dolphin), Langage(s), 971 mots   French (FR) , adiGuba

[Java] Où va Java ? Les Closures (style CICE)

Les Closures style BGGA sont extrêmement complète, mais apporte également leurs lots de complexité. De ce point de vue là, la proposition CICE prend le problème à contre pied et propose une implémentation la plus simple possible.

D'ailleurs la documentation donne le ton dès le début, en titrant "Closures without Complexity"...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

02/09/2008

Permalink 21:51:26, Catégories: Web, XHTML et CSS, Info, Récapitulatif Web, 78 mots   French (FR) , adiGuba

[Web] Google Chrome débarque sur le web...

Google Chrome

Peu de temps après son annonce, la toute première beta publique du navigateur de Google est disponible au téléchargement : Google Chrome.

A noter que Google profite de l'incroyable visibilité de son moteur de recherche pour proposer son nouvel outil, qui n'est disponible qu'en version Windows uniquement pour l'instant...

Plus d'info sur les blogs de developpez.com :

Vous devez être identifié pour poster un commentaire.

[OpenSource][Web] Google Chrome : Google officialise son navigateur Web

Google Chrome

La rumeur d'un "Google Browser" tournait depuis longtemps, mais c'est désormais officiel : Google travaille sur un projet de navigateur web opensource !

Au menu, on retrouve donc principalement :

  • Le moteur de rendu WebKit (utilisé entre autre par Safari, l'iPhone, le futur Android).
  • V8, une machine virtuelle JavaScript couplé à un compilateur JIT, qui permettra une compilation à la volée pour de meilleure performance.
  • L'intégration de Gears, qui permet d'utiliser des applications web en mode "hors-ligne" et d'utiliser un cache local.
  • Un design "multi-process" censé améliorer les performances et limiter les plantages tout en améliorant la sécurité (chaque pages et même chaque plugins possèdent leurs propres processus qui s'exécutent dans une sandbox).

Le tout avec une interface simplifié "à la Google"...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

29/08/2008

Permalink 08:00:00, Catégories: Java, 7 (Dolphin), Langage(s), 6175 mots   French (FR) , adiGuba

[Java] Où va Java ? Les Closures (style BGGA)


Lorsque j'ai commencé à écrire la série de billet "Où va Java ?" conçernant Java 7, j'avais en tête de faire un billet récapitulant les différentes propositions de Closures et leurs spécificités. Malheureusement le temps m'a manqué et je n'ai jamais pu finir ce billet...

Pour rappel, une closures représente un "bloc de code", qui peut être manipuler comme un objet. A l'heure actuelle l'utilisation de classe anonyme est ce qui s'en rapproche le plus (avec une syntaxe assez lourde toutefois). L'objectif des Closures étant d'utiliser une syntaxe plus concise.

Il existe quatre grosses propositions de Closures pour Java :

  • "CICE" (spec), par Bob Lee, Doug Lea et Josh Bloch.
  • "FCM" (spec), par Stephen Colebourne et Stefan Schulz.
  • "C3S" (spec), par Howard Lovatt.
  • "BGGA" (spec), par Gilad Bracha, Neal Gafter, James Gosling et Peter von der Ahé.

Aujourd'hui, et malgré le fait qu'il n'existe pour le moment aucune JSR ni information officiel quand à une éventuelle intégration des Closures dans Java SE 7, cette idée de comparaison me semble bien moins pertinente : la proposition "BGGA" me semble la plus complète. De plus elle a su évoluer afin de s'enrichir des bonnes idées des autres propositions (comme les "Method references" de FCM). Si les Closures se retrouve un jour intégré dans Java, il y a de forte chance que ce soit à partir de cette proposition.

Enfin, "BGGA" propose d'ore et déjà un prototype fonctionnel (closures.tar.gz) qui permet de tester "en vrai" les différentes fonctionnalités de la proposition. Je vais donc me contenter de présenter les Closures façon "BGGA"...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

22/08/2008

Permalink 13:33:24, Catégories: Web, XHTML et CSS, Info, Récapitulatif Web, 676 mots   French (FR) , adiGuba

[Web] Sécurité et restriction des applications en ligne

Lorsqu'on développe une applet, on est vite confronté aux contraintes lié à la sécurité, qui fait qu'un bon nombre de fonctionnalités pourtant apparemment basique ne sont pas utilisable directement. Il faut impérativement signer l'application ce qui provoquera l'affichage d'une autorisation d'exécution sur le poste de l'utilisateur.

Tout cela est parfois rageant lorsqu'on doit le faire pour une toute petite fonctionnalité qui peu paraitre tout à fait banale...

J'ai été confronté récemment à un problème similaire sur une application web et du JavaScript : j'avais besoin d'un bout de code me permettant de recopier automatiquement une partie de la page dans le presse-papier. Je n'ai eu aucun problème à implémenter cela sous Internet Explorer :

window.clipboardData.setData("Text", "Texte à copier...");

Malheureusement pour moi cela ne fonctionnait pas sous Firefox...

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

08/07/2008

Permalink 13:28:16, Catégories: Web, XHTML et CSS, Info, Récapitulatif Web, 384 mots   French (FR) , adiGuba

[Web] Astuce GMail : Utiliser des alias


Je viens de découvrir une petite astuce sur Gmail, qui peut s'avérer bien pratique lorsqu'on doit donner son adresse email. En effet, sur le web il n'est pas rare d'avoir à fournir une adresse email à différent organisme plus ou moins connu, et plus ou moins sûr. Que ce soit pour passer une commande, ou même s'inscrire sur un portail afin de bénéficier de ses avantages et de ses services.

Pourtant, à force de donner notre email à droite et à gauche, on peut se retrouver avec un certain nombre de message publicitaire pas forcément désiré. Et si le filtre antispam fonctionne plutôt bien, il n'a pas de raison de bloquer ce type de courrier plus ou moins légaux puisqu'il propose un moyen de désinscription.

Ceci peut toutefois se révéler assez gênant, surtout que les entreprises se revendent entre eux leurs fichiers de données et qu'on ne peut pas forcément déterminer qui est à l'origine de ce problème.

Mais je viens de découvrir le système d'alias de GMail, et encore une fois Google joue avec les standards (tout en les respectant) pour proposer une fonctionnalité intéressante : un nombre infini d'alias email !

» Lire la suite!

Vous devez être identifié pour poster un commentaire.

« Page Précédente 1 2 3 ... 10 11 12 Page suivante »

Liste des blogs

Rechercher

<  Juin 2009  >
Lun Mar Mer Jeu Ven Sam Dim
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          

Syndiquez ce blog XML

Articles :

Commentaires :

Vos questions techniques : forum d'entraide Blogs - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2009 www.developpez.com - Legal informations.