GNU/Linux Magazine Hors-série N°
Numéro
56

Java

Temporalité
Septembre/Octobre 2011
Image v3
Java
Article mis en avant

Résumé
Depuis 15 ans, le langage Java a beaucoup évolué et se retrouve dans la plupart des développements professionnels, particulièrement en France où tous les grands comptes l'utilisent.

Dans ce numéro...


Java a été initialement conçu pour des architectures 32 bits ou inférieur. La généralisation des machines 64 bits entraîne une mise à niveau de la machine virtuelle. Cela n'est pas toujours pertinent en termes de vitesse et de consommation mémoire.
JavaEE est un ensemble de standards permettant de normaliser le développement d'applications s'exécutant dans un serveur d'application, le plus souvent sous la forme d'une application web.
L'injection de dépendances est un patron d'architecture utilisé pour résoudre la problématique des dépendances entre objets tout en permettant un découplage des objets liés, en passant par une indirection. C'est une alternative plus souple à d'autres patrons d'architecture tels que ServiceLocator ou Factory.En 2009, des API ont été spécifiées pour standardiser la notion d'injection de dépendances au niveau de Java (JSR-330) et de la plate-forme JavaEE (JSR-299).
Le 28 juillet 2011, Java, langage le plus utilisé en entreprise, a reçu un coup de neuf grâce à la publication des spécifications par Oracle de la version 7.
Est-ce que Java permet la protection vis-à-vis de la propriété intellectuelle des applications ? Peut-on ralentir voire bloquer l’ingénierie inverse des applications Java ?
Hibernate est un framework de persistance open source permettant d’utiliser des objets métiers stockés dans une base de données relationnelle. Il est devenu en quelque temps l’un des plus populaires de sa catégorie. Hibernate a été écrit sous la responsabilité de Gavin King, qui fait partie de l'équipe Jboss.
« Java c'est de la m... »
Python offre plusieurs implémentations dont Jython - créée en 1997 - qui est écrite en Java, CPython étant l'implémentation classique écrite en C, IronPython, celle écrite en C# pour les plates-formes .NET et Mono, et PyPy, celle écrite en Python.Cet article va essayer de présenter ce que Python peut apporter aux développeurs Java, et de quelle manière.
Java est un creuset où de très nombreuses équipes enrichissent un environnement libre et foisonnant. Par conséquent, lorsque nous construisons nos propres logiciels, nous devons connaître et allier beaucoup de technologies disparates. Plusieurs projets proposent d'accélérer cette phase de démarrage, nous examinerons ensemble le projet Roo.
Android est un système d'exploitation complexe, car s'exécutant dans un environnement limité en ressources. Il est important d'appliquer les bonnes pratiques pour proposer des applications de qualité.
Dans le HS consacré à Android, nous avons élaboré une application complète. Nous allons maintenant nous focaliser sur des trucs et astuces dans le développement sous Android, permettant de réaliser une place de marché.
Nous allons proposer une solution technique permettant de partager un JAR d'un APK avec les autres APK installés sur le terminal Android.
Google propose, à partir de Android 2.2, la technologie C2DM permettant du push vers les applications Android. Nous allons proposer une simulation de ce framework, afin de pouvoir en bénéficier dans des systèmes Android dépourvus des API de Google, ou pour des téléphones plus anciens.
Comment supprimer les extensions d'une application au bon moment ? Dans le HS consacré à Android, nous avons réalisé une application permettant d’accueillir des extensions. Nous avons expliqué comment proposer leurs téléchargements depuis une des places de marché, mais nous n'avons rien proposé pour supprimer les extensions lors de la suppression de l'application racine. Nous allons décrire les techniques permettant de faire cela.

Magazines précédents

Spécial C et C++
GNU/Linux-Magazine Hors-série N°55
Spécial C et C++
Spécial PHP
GNU/Linux-Magazine Hors-série N°54
Spécial PHP
Initiation à Python
GNU/Linux-Magazine Hors-série N°53
Initiation à Python
Développement Android
GNU/Linux-Magazine Hors-série N°52
Développement Android
Hacks, électronique & embarqué
GNU/Linux-Magazine Hors-série N°51
Hacks, électronique & embarqué

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body