Applicazioni Java in Haiku (parte 1)

Innanzitutto un saluto a tutti i lettori del sito, dopo la pausa estiva, si riparte e come vedrete le novità  positive per Haiku sono davvero tante grazie ai fantastici frutti di Google Summer of Code.

Tanto per ripartire da dove ci siamo lasciati questo primo articolo riguarda il grande lavoro di Hamish Morrison che portando Java sotto Haiku ci consente di utilizzare tanti nuovi software, in questo primo articolo ne vedremo qualcuno.

Quanto segue è stato provato su Haiku revisione 44584 su un Pentium 4 a 3 GHz con 1024MB di ram. Al contrario di quanto ci si potrebbe aspettare le applicazioni girano fluidamente senza appesantire più di tanto la CPU :)

Per tutto ciò che riguarda il porting di OpenJDK per Haiku potete dare un’occhiata qui http://openjdk.java.net/projects/haiku-port/

La prima cosa che dovete fare per provare Java su Haiku è scaricare il seguente archivio ed estrarlo in /boot/apps

http://dl.dropbox.com/u/61946213/j2sdk-august.tar.xz

2: create una cartella dove inserire le applicazioni Java, ad esempio /boot/apps/jar

3: create in /boot/apps/jar un link a  “jre” che si trova in /boot/apps/j2sdk-image

4: create uno script come il seguente

#!/bin/bash

###########################
### CONFIGURATION START ###
export JAVA_HOME=/boot/apps/jar/jre
export PATH=$PATH:/boot/apps/jar/jre/bin
export LIBRARY_PATH=/boot/apps/jar/jre/lib/i386/:$LIBRARY_PATH

cd /boot/apps/jar

java -jar myjarfile.jar

Continua a leggere

Prime finestre Java in Haiku :)

Hamish Morrison ha pressoché completato l’implementazione di AWT (Abstract Window Toolkit  la libreria Java contenente le classi e le interfacce fondamentali per la creazione di elementi grafici) che naturalmente ha ancora bisogno di test ma è abbastanza stabile tanto  da rendere possibile l’avvio di applicazioni Java come  jEdit e SwingSet (vedi screenshot). Il supporto del Drag and drop è assente poiché in Haiku mancano alcune funzionalità per implementarlo ed attualmente sulla mailing list del progetto si sta discutendo per realizzare una drag and drop API dalle caratteristiche complete. Nelle prossime settimane Hamish continuerà a ripulire il porting di AWT/Java2D con particolare attenzione nel migliorarne le prestazioni per poi rilasciare i binari e successivamente iniziare a implementare jsound che fornirà il supporto per audio e MIDI.

OpenJDK port… report :)

Hamish Morrison ha pubblicato il suo primo rapporto sul porting di OpenJDK a cui sta lavorando per Google Summer of Code 2012. Durante la settimana scorsa ha realizzato un prototipo per il porting di AWT (Abstract Window Toolkit) che richiede una serie di ‘peers’ per bottoni, caselle di testo, ecc. che storicamente vengono implementate utilizzando i widget nativi della piattaforma che si sta usando.

Il tempo necessario per implementare e mantenere questi ‘peers’ è abbastanza grande, soprattutto considerando che questi widget AWT sono stati sostituiti da Swing ed ora vengono utilizzati raramente.

AWT fornisce un interfaccia tra un’applicazione Java ed una finestra nativa del sistema, inoltre AWT comprende un sistema per gestire gli eventi e un set di componenti della GUi chiamati heavyweight.

Un’implementazione dall’approccio alternativo è quella del progetto Caciocavallo che prevede la fornitura di heavyweight nativi per le finestre e le view è chiamate a Swing per il disegno e la gestione degli eventi per i vari widget. Questo facilita il porting di AWT e riduce la quantità di codice specifico della piattaforma da mantenere. Lo stesso approccio utilizzato per il porting di OpenJDK su Mac OS X.

Durante la scorsa settimana o due Hamish ha scritto un prototipo usando i peers di Caciocavallo Swing AWT. Al momento è piuttosto incompleta, ma il disegno è affidabile, così come la gestione di alcuni eventi tra cui l’imput del mouse (vedi screenshot in cui viene testato AWT).

Download (46,5MB): http://dl.dropbox.com/u/61946213/j2sdk-haiku.tar.xz
Per eseguire i binari qui sopra dovete avere almeno Haiku rev. 44069 ed il tutto una volta decompresso pesa 140MB

Haiku Java

Alex Wilson a.k.a. yourpalal uno studente di informatica presso l’Università di Edmonton in Canada sta lavorando presso l’Università di Auckland. Dal suo blog sul sito del progetto ci informa che cè già del supporto per Java su Haiku infatti dando da terminale la seguente linea di comando:

installoptionalpackage DevelopmentJava

potete ottenere la virtual machine java JamVM, GNU Classpath (gjar,gjavah e altre utilità) ed ecj (il compilatore Java Eclipse scritto in Java). Ciò è quanto basta per compilare un applicazione base in Java, come ad esempio il popolare buildtool Ant.

Continua a leggere

Novità da Auckland

Alex Wilson a.k.a. yourpalal è uno studente di informatica presso l’Università di Edmonton in Canada;  ha partecipato a Google Summer of Code nel 2010 lavorando su Layout API, nell’anno successivo ha partecipato come mentore ed è stato  premiato dall’Università di Auckland con una borsa di studio estiva per un progetto di ricerca su Haiku.

I professori Christof Lutteroth e Gerald Weber dell’Università di Auckland in Nuova Zelanda stanno lavorando ad alcuni progetti su Haiku tra cui “Stack and Tile” e la classe BALMLayout (ALM = Auckland Layout Model) tra i loro studenti c’è anche Clemens Zeidler. L’obiettivo finale di Alex è di promuovere BALMLayout come layout di prima classe incluso in libbe.so come per i layout Grid, Group e Card.

Alex sta lavorando anche ad un secondo progetto molto interessante, ossia far funzionare ed includere il codice Java su Haiku (usando JamVM, GNUClasspath ed il compilatore Eclipse ecj) chiamando il codice Java da C++ usando JNI.

Tutto ciò dovrebbe aprire la strada all’uso di PDStore, un sistema di database triplestore sviluppato dall’Università di Auckland, realizzato per una facile memorizzazione e gestione di dati strutturati e non strutturati, ad esempio modelli di software. Esso offre alcune funzionalità per l’implementazione di applicazioni collaborative, ed esplora alcune funzioni avanzate per “model data versioning”.