Dove lavoro abbiamo oltre una dozzina di sistemi SW interni che abbiamo sviluppato internamente utilizzando una varietà di tecnologie, framework e linguaggi. Questi includono vari da Microsoft (Web Form ASP.NET, WebAPI, WinForms, SharePoint, Office Automation, App native di Win8, SQL Server, SSRS) e altri non da Microsoft (JS / HTML / CSS semplice, PHP, Litio, PostgreSQL , MySQL). Il nostro team di sviluppo SW è cresciuto e si è ristretto di nuovo al punto in cui sono solo io e un altro sviluppatore. Mi piace provare nuove tecnologie brillanti e sfruttare diversi strumenti per fare le cose, il che spiega in parte l'enorme varietà di tecnologie che abbiamo scelto nel corso degli anni, ma siamo affetti da "Jack of All Trades, il padrone di nessuno" "sindrome.
Ora ci è stato detto che l'azienda si aspetta una nuova significativa crescita e che noi due dovremo produrre una serie di nuove applicazioni nel prossimo anno. Sono pronto a consolidare i nostri set di competenze e set di strumenti in modo da poter padroneggiare gli strumenti e concentrarci maggiormente sui problemi aziendali che dovremo affrontare senza rallentare il cambio di contesto tra le tecnologie. Di recente abbiamo fatto molto sviluppo "JS / HTML5 / CSS3" molto semplice e mi piacerebbe concentrarmi su quel set tecnologico che va avanti.
Utilizzeremo principalmente PostgreSQL come archivio dati sul back-end (eventualmente con l'aggiunta di alcuni NoSQL per usi molto specifici e probabilmente per trovare uno strumento di ricerca full-text avanzato da integrare). Le nostre interfacce utente principali saranno una combinazione di applicazioni Web tradizionali e App di singole pagine (mix 50% -50%), ma c'è la speranza per le app native mobili su tutta la linea. Pertanto vorrei esporre i nostri dati aziendali tramite un'API RESTful in modo che sia facile consumarli da vari clienti. E il fattore più importante in tutto questo è che voglio essere in grado di codificare esclusivamente in Javascript dalla parte anteriore a quella posteriore (con l'eccezione di scrivere SQL come necessario per il livello DB e HTML5 / CSS3 per la presentazione).
Questo mi lascia le seguenti domande:
- È possibile codificare tutti questi layer / componenti esclusivamente in Javascript senza ricorrere, ad esempio, a PHP sul server o C # per l'API RESTful (cioè WebAPI)?
- Necessario node.js è necessario per trasformare questo in realtà, oppure posso utilizzare un server web non di nodo e ottenere comunque l'ideale "solo per Javascript"? (related ... would node.js ha più senso in un paradigma solo JS?)
- Esistono framework per la creazione di API RESTful solo per JS in grado di comunicare con PostgreSQL?
- Esistono strumenti di ricerca full-text avanzati (come Lucene) che ti consentono di programmare contro di loro con un approccio solo JS?