I miei 2 amici e io stiamo preparando la nostra idea di progetto senior per il prossimo anno. Ho bisogno di alcune idee diverse mentre decido l'ambiente di base del progetto, soprattutto da parte degli sviluppatori / ingegneri del software che hanno lavorato in enormi sviluppi di prodotti software.
- Abbiamo risorse umane limitate ( solo noi, 3 studenti ), tempo limitato e un fondo molto limitato.
- Il progetto si rivolge ad ambienti office come Outlook, Thunderbird.
- Funzionerà sul desktop, non sul web
- la GUI sarà davvero ricca con widget / finestre personalizzati come Outlook
- Vogliamo iniziare a venderlo e aprire magari una piccola azienda. Quindi non è solo un progetto senior per noi e lo prendiamo sul serio.
- Anche se non siamo in grado di aprire una società, vogliamo che questo progetto sia un buon riferimento al nostro CV, soprattutto per quando si cercano lavori negli Stati Uniti.
- La velocità del software è ovviamente importante, ma l'affidabilità (crash in un prodotto software commerciale non è accettabile per i clienti giusto?) e portare il progetto a uno stato utilizzabile il più velocemente possibile sono più importante.
- Sarà come MS Outlook, con molte funzionalità nel singolo client. (Più che Outlook in realtà se contiamo.)
- Inoltre vogliamo che questo progetto porti le nostre abilità pratiche in un posto migliore
- Usiamo C ++ e Java davvero buoni, ma non abbiamo mai lavorato all'interno di un progetto di grandi dimensioni come questo, quindi non possiamo vedere come l'ambiente influenzi le nostre esigenze a lungo termine
Abbiamo due ambienti tra cui scegliere (Java Swing e C ++ Qt) e siamo esperti in questi, ma a causa dei fattori che ho descritto sopra, dovremmo decidere qual è il migliore.
Quale sarebbe il tuo consiglio per un progetto con questi criteri?
Le nostre paure per Java:
- Rallentamento del software perché è davvero un grande progetto.
- Soprattutto temiamo la velocità della GUI.
Le nostre paure per C ++:
- Sviluppo che richiede molto tempo
- Sicuramente più bug si verificano
- Più tempo o denaro per sviluppare e mantenere (difficile trovare buoni sviluppatori C ++ rispetto agli sviluppatori Java giusto?)
- Rendere la GUI molto personalizzata con Qt potrebbe essere davvero difficile
- Le librerie non saranno riutilizzabili per un'interfaccia web mobile (almeno facilmente)
PS: non è un client di posta elettronica. Verrà utilizzato in ambienti di ufficio come Outlook, ma non come client di posta elettronica. Outlook è una buona immagine per rappresentarlo.