Consejos sobre que tecnología utilizar para TFG

E

¡Hola! Muy buenas, os cuento. ^^

Me dispongo a desarrollar mi TFG (el cual me gustaría entregar el próximo junio) pero tengo dudas en cuanto a que tecnología escoger por lo que vengo a vosotros a ver que me aconsejáis.

El TFG es básicamente montar un sistema/app (preferiblemente web, con idea de subirla a la nube) el cual va a tener que consumir muchos datos de una API. Con los datos recibidos voy a operar mediante algoritmos evolutivos o similares para decidir cuales de éstos datos son 'mejores'. Y puede que también con un algún algoritmo de predicción. Y devolver los resultados. Esa es la base, aunque puede que vaya añadiendo funcionalidades si se me ocurre algo guay. Me gustaría que visualmente fuese bonito, incorporarando gráficas y este tipo de cosas.

Había pensado python+django. Pero no se si es lo más idóneo. ¿Qué me recomendáis usar? ¿Alguna tecnología en especial?

Un saludo y muchísimas gracias de antemano.

PD: lo he contado muy por encima de lo que trata, si necesitáis más detalles, ¡preguntad!. No hay problema.

gonya707

Creo que antes de nada deberias especificar si te interesa mas tener una aplicacion web, app movil, de escritorio, las plataformas en las que deberia funcionar... las posiblidades son infinitas sino

1 respuesta
E

#2 Muchas gracias compañero. Ya lo he especificado. Preferiblemente app web para tener la posibilidad de acceder desde cualquier dispositivo.

Un saludo y gracias de antemano.

Nitamo

#1 Tienes frameworks potentes en todos los lenguajes para poder montarte una buena app, dependerá de lo que hayas estudiado o lo que te llame mas la atención, si te gusta Python no te lo pienses y tira con django, tiene muchísima comunidad y no te vas a arrepentir.

Si te interesan otros lenguajes tienes por ejemplo Laravel(PHP), RoR(Ruby), Spring(Java), ASP.NET...

1 respuesta
E

#4 No he usado hasta ahora django, pero si que he trasteado con python, la otra opción (que manejo mucho más que python) sería java + spring. Pero no se, no lo veo para este tipo de cosas.

Un saludo, y gracias por tu opinión compañero.

Merkury

La cosa es que lo que uses en el back no tiene porque afectar al front, quiero decir, para el back yo usaria Pyhon con Django y en el front le metes HTML5 SASS y jQuery y con eso vas a tener una app que se vea "bonita" si le echas un rato al CSS y tal.

1 respuesta
B

Te digo lo mismo que #6, elige con lo que más cómodo te sientas en el back, si dices que tienes más experiencia con java, pues eso mismo. Y luego en el front con html5, js, css te debería sobrar.

Aidanciyo

Haz la app oficial de mediavid, no es coña.

Nucklear

Yo no usaria Django para eso. Con Flask vas mas que sobrado y es mucho mas modular para adaptarlo a tus necesidades.

En realidad tal y como lo veo necesitas que el backend recoja datos de la API y luego invocar una aplicacion independiente que es la que tendra la logica de los algoritmos evolutivos. Asi que yo me centraria en un lenguaje que sea rapido para esa parte (C por ejemplo) y luego la web la montaria con python-flask y haria el frontend con jquery-angular-react o cualquier framework que te guste.

1 respuesta
HeXaN

Hombre, si vas a meter algoritmos evolutivos (supongo que algo tipo AGG, AGE...) con una población muy grande, yo te recomendaría usar Hadoop o Spark para el procesamiento de los datos (por eso que dices de subirlo a la nube) y luego ya recoges los datos con el framework que más coraje te de.

Merkury

#9 Flask es un micro framework no?

Yo le recomende Django, porque de frameworks de Python ni zorra.

2 respuestas
HeXaN

#11 Yo usaría también Django, más que nada porque viene ya con la autenticación de usuarios y demás cositas interesantes bien implementadas.

2 respuestas
E

Muchas gracias a todos por vuestros consejos. Al final optaré en el backend por python + (django o flask) y para el frontend con lo que habéis dicho. Mirare a ver si hay alguna librería de algoritmos evolutivos en C para ganar en optimización, pero creo que va a estar difícil.

Gracias a todos, ya os comentare.

Merkury

#12 Ostia, las clases de la autenticacion de Django son puro amor, hace cosa como un a;o o asi, estuve leyendome el codigo (mi phyton es bastante basico) pero pense, joder si symfony implementara la authenticacion la mitad de bien que Django... flipas XD

Ninjaedit: No la mitad de bien, porque al autenticacion de Symfony tampoco es tan mala XD

Nucklear

#11 Exacto

#12 Yo por eso no se la recomiendo xD Si bien la autenticación está bien, me gusta mas utilizar cosas mas pequeñas y montar mi framework en base a mis necesidades, pero que vamos, lo mismo da para este caso.

1
E

Muchas gracias a todos de nuevo, voy tomando nota de todo .

Nikoss

Si tienes tiempo para trastear.

Angular2 + SpringBoot para la parte de la API.

Angular 2 pq se va a usar mucho (o eso pinta) y Springboot porque ya se usa en todos lados y en las grandes empresas casi que esta en todas.

Si quieres que sea todo el mismo lenguaje, pues:

Angular 2 + nodejs

Si te gusta dar vueltas la API la puedes hacer en Rails y la parte de cliente en angular2/react.

Hay miles de opciones la verdad.

PD: Si la API no tiene que ser muy compleja quizás Firebase te pueda servir.

1 respuesta
E

#17 Buenas compañero, tomo nota de angular2. SpringBoot he oído hablar mucho de él, pero me parece un poco más complejo y con menos comunidad, no se si voy a tener tiempo suficiente.

Respecto a la API la idea no es crearla, sino consumir de una/varias API. Y con estos datos son con los que yo trabajaría.

Lo de node.js + angular 2 también es buena idea para conseguir bastante manejo con JS tando en el frontend como en el backend.

Muchas gracias a todos, estoy cogiendo nuevas ideas y esa era la finalidad de este hilo. Aunque no lo creáis me estáis ayudando mucho. Si todo sale bien pondré en el footer una referencia a vosotros o algo en modo de agradecimiento ^.

Saludos compañeros.

1 respuesta
Nikoss

#18 Ah perdón entendí que las APIs tb las tenías que hacer tu pero si solo es consumir datos de una ya montada, olvida SpringBoot, nodejs & la api en Rails ya que no tienes que hacer nada en backend.

Angular2, React, Polymer...

El tutorial de Angular 2 de su web es muy muy fácil de seguir y vas a amar TypeScript + VsCode :P

1 respuesta
Maldercito

Mi voto también va para Angular 2 y NodeJS o cualquier otro lenguaje backend. Lo poco que he trasteado con Angular 2 es puro love.

1 respuesta
E

#20 #19 gracias compañeros. JS lo utilizaré para el frontend, finalmente creo que voy a optar por python para el backend ya que he rastreado un poco y hay librerías muy potentes de algoritmia e inteligencia artificial y de nodeJS he encontrado menos en esta temática. Por lo tanto creo que sería más adecuado python, corregidme si no es así.

Un saludo compañeros.

2 respuestas
DarkSoldier

#21 creo que no te queda de otra para frontend por eso xD podrás camuflarlo como quieras pero acabará siendo JS siempre

pd: react + rxjs

1 respuesta
HeXaN

#21 Python es adecuado dependiendo de la cantidad de datos con la que vayas a trabajar.

1 respuesta
corono

R lo conoces? es batante potente y útil para hacer data mining.

1 respuesta
E

#22

¡Gracias compañero!. No, no conozco react + rxjs le echaré un ojo a ver. Pero tampoco busco complicarme demasiado la vida, que si empiezo así no me da tiempo a entregarlo jajaja. Gracias!

#23

En un principio son bastantes datos, cientos de miles. Espero no llegar a millones xD. Pero ya sabéis como son estas cosas, a lo largo de la vida del proyecto salen imprevistos y van cambiando mucho. Por ahora solo estoy definiendo los requisitos.

#24

Sí, si que lo conozco lo he usado un poquito y tiene una sintaxis 'parecida' a Python a mi parecer. Pero creo que es un lenguaje más orientado a matemáticos y estadísticos. Me va a salir más a cuenta en un futuro profundizar con Python, además que tienes mucho más comunidad que R.

Un saludo compañeros, a ver como sale el proyecto. Os pondré una especie de agradecimiento en el footer si todo sale según lo previstos. !MUCHAS GRACIAS¡

1 respuesta
15 días después
mortadelegle

#25 Si en python notas que el rendimiento de los algoritmos es algo lento antes de bajar a picar C echa un vistazo a numba, yo lo he usado en el trabajo y canelita en rama.

1 respuesta
3 meses después
E

#26

Muchas gracias compañero. Me lo apunto. Sí, lo he visto ahora después de mucho.

1 respuesta
bornex

#27 Usa Scala joder. Spark, Akka, Finagle... Donde los verdaderos hombres se forjan.

s4suk3

hola http://reactivex.io/
#1 para gráficas https://github.com/search?l=JavaScript&o=desc&q=react+chart&s=stars&type=Repositories&utf8=%E2%9C%93

Usuarios habituales