Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Progetto opensource JGush

    Buongiorno a tutti.

    Oggi non ho nessuna domanda da farvi ma vorrei mostrarvi un progetto che ho deciso di pubblicare come opensource su GitHub.

    Il link al progetto è questo https://github.com/AndreaCatania/JGush

    Inizialmente vorrei proporvi solamente il modulo CMS (Content Management System) del progetto (che alla fine è la parte più interessante), per pubblicare man mano tutti gli altri moduli su cui devo ancora scrivere il file di descrizione che usa GitHub.


    Di cosa si tratta?
    Come ho già detto JGush è un progetto opensource e si tratta di un framework che vuole dare una base di partenza dinamica che si adatta al progetto da realizzare, mantenendo una struttura standard che garantisce una semplice manutenibilità del codice nel tempo.

    GJush ha diversi moduli che possono essere inclusi o meno in base alle esigenza dell proprio progetto, uno di questi moduli è JGush_cms che è un Content Management System di basso livello.

    La caratteristica di essere di basso livello si rifa al fatto che questo CMS può essere gestito da codice e ampliato in base alle proprie esigenze.

    Di base questo CMS può generare pagine statiche, dinamiche, multilingua statiche, multilingua dinamiche. Si possono creare widget da far interagire direttamente con metodi proprietari del progetto da costruire.


    Se siete interessati potete visitare i link sottostanti:

    https://github.com/AndreaCatania/JGush progetto JGush
    https://github.com/AndreaCatania/JGush_cms progetto JGush_cms
    https://github.com/AndreaCatania/JGush_TEST progetto che usa JGush_cms e genera 2 pagine html.

    Chiunque volesse usare questo framework può scaricare il codice ed usarlo, se dovreste avere problemi potete postare una domanda su qeusto sito cosi io o altri potremo aiutarvi nell'implementazione.

    Questo framework non è nulla di completo e finito ma è un idea di partenza; invito a chiunque piaccia l'idea e voglia migliorare o aggiungere idee e/o moduli a collaborare e creare una community ( basta pure criticare il progetto per aiutarlo a farlo crescere).
    Scrivete su questo forum o parliamone tramite altri mezzi alternativi, o postate il codice tramite github.

    Fatemi sapere cosa ne pensate.
    Spero che questa povera descrizione faccia giustizia al tempo impiegato nella scrittura di tutto il framework fino ad oggi.

    Ciao a tutti e Buon proseguimento.

  2. #2
    Ho dato una rapida occhiata al progetto e ho trovato del materiale molto semplice, quasi un esercizio scolastico.
    L'argomento poi e' cosi diffuso che veramente si tratta di un granello di sabbia nel deserto. Credo che qualunque programmatore java poco piu' che principiante abbia gia scritto di suo codice del genere e quindi non ci sa ragione per nessuno di usarlo. Soprattuto non serve a nulla rilasciare open source qualcosa che fa praticamente nulla. Dubito che questa sia la strada giusta per un progetto open source di successo... ma chissa', magari sto assistendo alla nascita di un nuovo drupal in java e non me ne rendo conto.

  3. #3
    Ciao e grazie mille della tua risposta è veramente molto apprezzata....

    Tuttavia mi piacerebbe capire se la tua critica sull'utilità del codice è stata fatta basandoti solo sull'esempio fatto al link https://github.com/AndreaCatania/JGush_TEST perche se fosse cosi potrei sviluppare oltre quell'esempio cosi da mostrare molto altro.

    Non penso che il codice sia all' altezza di progetti ben più noti e datati; però se fosse una buona base mi farebbe piacere lavorarci su per portarlo a diventare qualcosa di veramente professionale e performante...

  4. #4
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Ciao e grazie mille della tua risposta è veramente molto apprezzata....

    Tuttavia mi piacerebbe capire se la tua critica sull'utilità del codice è stata fatta basandoti solo sull'esempio fatto al link https://github.com/AndreaCatania/JGush_TEST perche se fosse cosi potrei sviluppare oltre quell'esempio cosi da mostrare molto altro.

    Non penso che il codice sia all' altezza di progetti ben più noti e datati; però se fosse una buona base mi farebbe piacere lavorarci su per portarlo a diventare qualcosa di veramente professionale e performante...
    Ho visto il codice. Sono un programmatore java con molti anni di esperienza.

    Partiamo dal punto primo fondamentale: la documentazione. E' praticamente inesistente.
    La build: non c'e', solo i file .project di eclipse.
    Qualita del codice: non molto buono, indentanzione abbastanza random, una classe monolitica e una serie di classi accessorie quasi vuote. Commenti sparsi, un po si pu un po' no. Il piu' no.

    Da quel che si capisce e' una roba che visualizza una pagina html assemblandola da pezzi sul database, ma non mi pare ci sia una UI per caricare il database. Non e' un cms, e' al massimo il rendering di una pagina in java.

    Ripeto chinque scrive codice java e' in grado di rifarselo in poco. Non essendo un prodotto completo, non si capisce chi altri potrebbe volerlo usare se non un programmatore java.

    Quindi, a parte dimostrare che sai programmare in Java con la speranza che qualcuno o ti assuma o ti chieda di fargli un lavoro, a che serve?

  5. #5
    In realtà non è completo e non ho mai detto che lo sia... Non è una versione finale o qualcosa dove chiedo dei soldi o lavoro; forse dire che ho messo del codice opensource ha prodotto il risultato contrario a quello sperato... più che altro ho creato questo con l'intenzione di far nascere un gruppo di lavoro su questa idea visto che non esiste nulla di simile in Java... sempre se l'idea era apprezzata....

    Comunque no non prende solamente dei "pezzi" di codice dal DB e fa il rendering della pagina, ma è in grado di eseguire dei metodi creati appositamente per ogni widget (il cosi detto pezzo di codice) in questo modo viene resa dinamica la visualizzazione di quel widget in base al metodo....


    Ti ringrazio per la tua opinione, mi sei stato veramente molto d'aiuto, Grazie ancora.

  6. #6
    Ti parlo da non esperto in java.

    Per quanto mi riguarda penso che solo il fatto di scrivere un cms da soli sia una dimostrazione di metodo e di intelligenza.

    Purtroppo non ti posso dare suggerimenti per quanto riguarda il miglioramento del codice, in quanto il settore della programmazione java che si occupa della gestione delle pagine web etc non mi interessa(programmo per hobby non per professione). L'unica cosa che ti posso suggerire è di mettere i commenti in inglese.

    Comunque complimenti per gli sforzi che ci hai messo . Se ci credi continua a cercare di migliorare il progetto magari come suggerisce andremar mettendo una UI per gestire in modo più facile la gestione del db.

    ciao
    Ultima modifica di g.b99pm10; 13-08-2014 a 16:48
    tutto si può fare, bisogna solo volerlo
    http://italybrain.altervista.org/

  7. #7
    Hai chiesto nel forum che ne pensate. Non so se valgono solo i pensieri positivi. Non e' questione di essere "distruttivo", e' veramente una roba troppo limitata, troppo comune, e con milioni di alternative perche' possa nascere un gruppo di lavoro. Il 99,9% dei progetti open source e' sviluppato da una sola persona, e spesso ci vogliono anni perche una applicazione completa e funzionante venga usata da piu che pochi intimi. Gia' che qualcuno lo guardi deve essere considerato un miracolo. Io lo ho fatto e ho visto codice da principiante. Non si diventa linus torvalds rilasciando una robetta come questa. Se avessi fatto, chesso, il core di un nuovo server nosql (anche se ce ne stanno parecchi gia in giro) posso capire. Ma un cms! Un altro! Per di piu' manco un cms ma solo un pezzettino, approssimato, abbozzato, non documentato e scritto pure male (gia' i commenti in italiano per un open source la dicono tutta, ma i nomi, devono essere fighi e "ingleseggianti": JGush , Humbrooos. La mia opinione? Sara' brutale, antipatica e cattiva, ma e' sincera: "SVEGLIAAAAAA!"
    Ultima modifica di andremar; 13-08-2014 a 17:34

  8. #8
    Assolutamente ribadisco che apprezzo il tuo commento, anche perche mi hai fatto capire che un progetto viene considerato solamente se finito e quindi usabile altrimenti non viene considerato... Ti chiedo solo una cose, perche dici che è scritto male? (Vorrei capire meglio cosa devo migliorare)

  9. #9
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Assolutamente ribadisco che apprezzo il tuo commento, anche perche mi hai fatto capire che un progetto viene considerato solamente se finito e quindi usabile altrimenti non viene considerato... Ti chiedo solo una cose, perche dici che è scritto male? (Vorrei capire meglio cosa devo migliorare)
    Ok sto esagerando con i toni quindi comincio a scusarmi.
    Ora ti faccio qualche osservazione tecnica (premetto che ho una certificazione Java dal 1999 e una certificazione JavaEE enterprise architect nel 2005) quindi dovrei essere qualificato per farle.

    - i commenti sono random, un po' si uno po' no - fatti cosi sono assolutamente inutili

    - la divisione in bean e dao la capisco, quella in widget e label no - la label alla fine e' uno specifico widget

    - usi un sacco di inner classes, e questo rende difficile la navigazione del codice - in java una inner classes deve essere propriamente "inner" tu invece usi una classe come fosse un package. L'intero builder dovrebbe essere un package

    - la classe widget prende una servlet request, che e' assolutamente atroce per l'incapsulazione (mai sentito parlare del principio di liskov?)

    - i messaggi sono cablati (orrore!) e in italiano (peggio!) - almeno usa un resource bundle

    - WidgetMethod (grande! una classe method...) con un metodo execMethod!!! Mamma! Manca solo MiaClasse con i metodi pippo e pluto?

    - build_config viola le naming convention standard di Java

    - Version(3,2,0)??? Sti numeri vanno nel build file di maven, non nel codice

    - Ah gia, non ci sta la build di maven

    - Uh, non e' marcata manco la versione

    - Oh, e dove sta il binario per scaricare e provarlo?

    - E perche' 3 progetti, uno per il demo una per il codice e uno per la documentazione (finta...)? Per fare aria? Riempire il tuo account github di progetti che uno solo sembra troppo poco? Dovrebbe star tutto in un solo progetto.

    Note sul codice:

    - short compileTemplate che ritorna -1 per l'errore! credevo fosse Java, non C (eccezioni mai sentite?)

    - tra l'altro se ti fossi mai letto bene il manuale di java sapresti che uno short viene immediatamente promosso a int quindi e' assolutamente inutile ritornare da un metodo short - non risparmi nemmeno un bit fai solo vedere che non conosci bene java

    - questa e' carina: if( null==method || "".equals( method ) )
    Ora, gli esperti usa di solito "".equals(method) invece di method.equals("") per eveitare il null pointer quando method e' null. Qui tu usi la tecnica degli esperti ma si vede che no la hai capita perche hai messo anche il controllo (del tutto inutile) null==method.

    Mi fermo qui che potrei continuare per ore ...
    Ultima modifica di andremar; 13-08-2014 a 19:48

  10. #10
    WidgetMethod (grande! una classe method...) con un metodo execMethod!!! Mamma! Manca solo MiaClasse con i metodi pippo e pluto?
    In realtà la classe va estesa per implementare i metodi da far eseguire ai widget ecco perche ho dato questo nome...



    - Version(3,2,0)??? Sti numeri vanno nel build file di maven, non nel codice
    Questo dato è richiesto da freemarker perchè verifica la versione installata nel progetto...


    - Ah gia, non ci sta la build di maven
    Ho deciso di non utilizzare Maven, è un errore? (credo sia solamente una semplificazione utilizzarlo)


    - E perche' 3 progetti, uno per il demo una per il codice e uno per la documentazione (finta...)? Per fare aria? Riempire il tuo account github di progetti che uno solo sembra troppo poco? Dovrebbe star tutto in un solo progetto.
    I progetti in realtà sono più di tre e questo per far in modo da importare solamente il codice che interessa ad esempio se si volesse utilizzare solamente il CMS e non il modulo DB non importa JGush_db, se fosse stato tutto unito non si avrebbe avuta questa possibilità.


    - short compileTemplate che ritorna -1 per l'errore! credevo fosse Java, non C (eccezioni mai sentite?)
    In realtà è più comodo utilizzare le eccezioni, ho agito cosi perché mi sono preoccupato delle performance...


    - questa e' carina: if( null==method || "".equals( method ) )
    Ora, gli esperti usa di solito "".equals(method) invece di method.equals("") per eveitare il null pointer quando method e' null. Qui tu usi la tecnica degli esperti ma si vede che no la hai capita perche hai messo anche il controllo (del tutto inutile) null==method.
    Qui in realtà ti sbagli... so bene la differenza tra "".equals( method ) e method.equals( "" ) infatti se guardassi bene quel costrutto IF noteresti che non cerco di prevenire un NullPointerException.




    Ultima modifica di cataDesign; 14-08-2014 a 12:20

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.