Io e il mio amico stiamo sviluppando un'applicazione web in Python + Flask + PostgreSQL. Ci stiamo lavorando da qualche mese e abbiamo sviluppato molti schemi / casi d'uso specifici per Python + Flask + PostgreSQL. Ora, all'improvviso, pensiamo di passare a un altro database NoSQL (Neo4j) perché in qualche modo si adatta meglio a quello che sarà il nucleo della nostra web-app. Python supporta Neo4j tramite binding / rest api binding, ma usa una tecnologia JPype, che è piuttosto non mantenuta, per usare il minimo .
Quindi, questa domanda sull'uso di Scala è sorto oggi. La nostra sarà un'applicazione next-to-realtime, quindi non possiamo permetterci di avere il lag / overhead di avere passaggi intermedi delle richieste Python- > Java (il server standalone Neo4j è basato su embedded Neo4j). Quindi, mentre sono favorevole a spendere un mese o due e ad imparare Scala / Lift, è a favore di portare avanti con Python e fare il porting su Scala ogni volta che si presenta la necessità, anche se sappiamo che i collegamenti Python + saranno un po 'più lenti rispetto al supporto nativo di Neo4j per Java.
Negli ultimi mesi, avevamo già lavorato molto su Python + Flask + PostgreSQL. Se portiamo su Scala, avremo bisogno di portarlo tutto su Scala.
Sarebbe saggio port-port? Ci sono esperienze personali o consigli da parte di tutti voi? O è solo un'ottica prematura?
P.S .: Sono consapevole della curva di apprendimento di Scala / Lift.