Forum >> Programmazione Python >> IDE ed Editor >> Scelta IDE per esigenze specifiche

Pagina: 1

Buonasera,

sono nuovo del forum, e neofito di Python, ma decano della programmazione.

Necessito quindi di prendere decisioni su come approntare l'ambiente di sviluppo, e vorrei il parere di esperti, tenendo conto delle mie esigenze.

Utilizzerò Python per due scopi principali:

1) Scripting per automazione di alcune operazioni sistemistiche (copia di file tramite ftp, esecuzioni di programmi su macchine remote, invio email, ecc.) da far girare in ambiente sia Linux che Windows.

2) Applicazioni desktop (per windows) che utilizzano GUI e piccoli database, e/o che elaborano il contenuto di file Excel, da distribuire per l'utilizzo su PC di terzi.

Riguardo al punto 1), credo che il problema dell'IDE non si ponga più di tanto (correggetemi se sbaglio), mentre per il punto 2), credo che possa essere particolarmente importante utilizzare sin da subito un ambiente di sviluppo (e più in generale una serie di strumenti) che renda più agevole il lavoro, tenendo conto delle seguenti esigenze:

- Facilità di creazione di pacchetti per la distribuzione "chiavi in mano" (utilizzare py2exe è sufficiente?)
- Facilitazione nel disegno GUI (presenza di un GUI editor)
- Non esosità (meglio se gratuito)
- Non interessato a sviluppo su web (ma interessato allo scraping dal web)
- Supporto delle ultime versioni

Ho preso un po' di appunti sia su questo forum che su altri forum in lingua inglese, ma mi piacerebbe avere un parere da chi ha più esperienza di me con tali strumenti.

Grazie in anticipo.

Mario


--- Ultima modifica di marboc in data 2019-02-21 01:21:42 ---
Allora, la cosa fondamentale che devi tenere a mente, prima di ogni cosa, è che se stai cercando un RAD tipo Delphi o l'interfaccia di Access, allora NON esiste niente del genere per python. Non esiste niente di "grafico", del tipo che ti clicchi sulla casellina di testo nella toolbok, la trascini sulla form e la metti nel punto dove la vuoi vedere, e poi clicchi sul pulsantino, lo trascini, eccetera. Ecco, questo non esiste. Fine.


Se invece non stai cercando un RAD, allora direi che qualsiasi buon Ide moderno, supportato, largamente adottato va bene. E anche qualsiasi buon editor, a dirla tutta. Voglio dire, per male che ti vada ci sono ide francamente inferiori (Atom. Brackets) che
comunque sono ben sviluppati e adottati e moderni, e se caschi in una di
quelle robe lì, mah ok suppongo. L'importante è che tu non ti ficchi in scelte assurde tipo Spyder, o esotiche che non usa nessuno tipo Ninja Ide.


Visto che tanto sei su windows puoi usare visual studio code come fanno tutti e non pensarci più di tanto.

[...] o esotiche che non usa nessuno tipo Ninja Ide.
Volevi scrivere: "che usa solo uno che mi risulti..." ;)

Cya

Secondo me non lo usi neanche tu... hai una skin di Vim che somiglia a NinjaIde.
Secondo me non lo usi neanche tu... hai una skin di Vim che somiglia a NinjaIde.
Non lo saprai mai... :)
Ciao RicPol e grazie per la risposta!

Non cerco un RAD nel senso più stretto del termine, (ma per come ho formulato la mia richiesta il dubbio era legittimo, per cui hai fatto bene a specificare, anche per chi dovesse leggere in futuro), piuttosto avevo letto qualcosa a proposito di strumenti come PAGE (per Tkinter) ed il designer di PyQT.

Insomma mi piacerebbe avere il supporto di strumenti che eliminano il lavoro di copia-incolla del codice standard delle interfacce (il cosiddetto boilerplate code), andandomi quindi a creare il "contenitore generico" (da parametrizzare e gestirne le caratteristiche da codice), all'interno del quale inserire l'implementazione delle funzioni, separando (quanto meno a livello concettuale) il lato di design da quello applicativo vero e proprio.

Per il resto hai colto nel segno, per me è importante sapere cosa NON scegliere, andando ad infilarmi in qualche vicolo cieco, e non conoscendo le possibili "trappole", ho pensato di inaugurare la mia presenza su questo forum proprio chiedendo informazioni su questo argomento.


Tra gli ambienti al momento dei più diffusi ho escluso Eclipse per un problema di "pesantezza" dell'ambiente, ed avevo visto anche io con interesse l'ambiente da te suggerito di Visual Studio.

Avevo letto cose interessanti su Kyvy, molto ben documentato e seguito, ma per il momento non lo considero poiché mi è sembrato troppo orientato al mobile, ed al voler creare un meta-linguaggio, ma seguirò con interesse gli sviluppi.
Qtdesigner non è né un ide né un rad, è un gui designer per le Qt. E' un software esterno e serve in modo specifico per fare (mediocri) gui con le qt. Non c'entra niente con un ide, e tu stavi chiedendo di un ide.


Kivy non è né un ide, né un rad, né un gui designer. E' un gui framework (e tra l'altro, se scegliessi di lavorare con Kivy, o con wxPython, o con Tkinter..., allora Qtdesigner non ti servirebbe proprio a nulla, visto che è specifico per le Qt). Tu stavi chiedendo di un ide, comunque.


Io *non* ho affatto suggerito Visual Studio. Io ho suggerito Visual Studio Code. Sono pianeti diversi.


In ogni caso, se sei un veterano della programmazione lo saprai: il criterio per scegliere un editor non è molto diverso dal criterio per scegliere qualsiasi altra libreria in circolazione: cerca di capire qual è il volume di commit, ogni quanto escono le nuove release, quanti ci lavorano sopra, quanto grande è la community, dai un'occhio alla bug list e vedi se ci sono problemi seri che si trascinano da anni, e così via.





A parte: questa idea che un rad/gui designer sia una manna dal cielo che ti evita il "cosiddetto boilerplate" e ti aiuta a separare il "lato di design da quello applicativo vero e proprio" è una pia illusione. Di regola il gui designer *aumenta* il boilerplate, *diminuisce* la possibilità di separare efficacemente i componenti, *aumenta* la complessità del codice, e in generale ottunde la capacità di capire come funziona il gui framework sottostante.


Tuttavia, beninteso: SE acquisisci una buona competenza a programmare il gui framework e una buona comprensione del suo funzionamento, SE hai padronanza di come funziona il gui designer e di come produce il codice, SE il tuo progetto si adatta effettivamente al flusso di lavoro imposto dal gui designer, ALLORA il gui designer in effetti è utile.

Ciao RicPol,
grazie ancora per la spiegazione, e scusami se ti aggiorno con ritardo!

Tra le varie consultazioni ho seguito con interesse la guida che hai in firma (che mi ha chiarito alcuni dubbi), ed infine appena trovata qualche ora contigua di tempo libero, ho considerato che la cosa migliore era quella di iniziare a sporcarsi le mani di bit, e sono partito con Visual Studio Code (grazie per la precisazione), proprio per la maggiore garanzia di continuità (oltre ad avermi fatto una buona impressione come prodotto).

Per quanto riguarda l'aspetto di GUI-design, sono partito dal tool più elementare (sufficiente per i miei scopi), ovvero PAGE (utilizzando quindi le librerie tkinter), che mi ha aiutato a comprendere alcuni meccanismi, ed intanto ho apprezzato la semplicità con la quale è possibile gestire i diversi componenti.

La prima considerazione generale su Python, come ho già scritto anche nel gruppo FB, riguarda la grande potenza unita ad un grado di complessità graduale, che consente di realizzare cose notevoli anche senza raggiungere un grado di complessità eccessivo.

Sono quindi davvero entusiasta dell'inizio, dopo aver "giocato" un po' con le finestre ora mi sto dedicando alla gestione dei DB, ma questo fa parte di un'altra sezione! :)

Grazie ancora


Pagina: 1



Esegui il login per scrivere una risposta.