¿Qué lenguaje escoger para API + Web SSR?

B

Pues eso, ¿qué lenguaje, y ya puestos frameworks, elegiríais para un api rest consumida por la página que se renderice desde de el lado de servidor?

¿PHP? ¿JavaScript?

Tengo entendido que con frameworks js ssr como nuxt se puede hacer en el servidor API+web a la vez. Imagino que algo estilo laravel también ¿no?

¿Qué sería lo más recomendable? Sea por aprender o no, por demanda laboral o no, o simplemente por calidad del lenguaje.

HeXaN

Yo tiro de Python que es lo que manejo. Flask y a tirar millas. FastAPI lo está petando ahora también.

2 1 respuesta
yarviT0

Nextjs, es react en parte del servidor con ssr. Sino gatsbyjs

Y graphql para las APIs

1 respuesta
B

#3 Next no es para la parte front? También puedes integrar el api rest de esa misma web?

#2 Python entonces rinde bien para webs? He oído hablar de él pero no sabía que diera buen rendimiento. ¿Se escala bien con él y tiene buen rendimiento cuando hay muchas peticiones simultáneas?

2 respuestas
HeXaN

#4 Aguanta miles de peticiones por segundo y no creo que tengas tantas xD

1 1 respuesta
B

#5 Gracias. Desde luego que no, pero como python no ha sido un lenguaje inventado para web per se, pues no sabía que tenía buen rendimiento en comparación a otros.

yarviT0

#4 si deje si:
https://nextjs.org/docs/api-routes/introduction

r2d2rigo

ASP .NET Core, tiene un middleware por defecto que te ahorra todos los quebraderos de cabeza de inicializar el contexto, configurar las rutas, etc. y tu te centras solo en lo que quieres que haga cada endpoint.

1 respuesta
B

#8 miraré ASP.net core. No sé si habrá cambiado de visual studio .net cuando por aquel entonces lo usaba. Me llama la atención que ahora sea open source y multiplataforma. Buen camino de Microsoft

s4suk3

hablando de frontend yo probé nuxt y next... y no me quedo con ninguno, pero si tengo que elegir creo que tiraría por nuxt
para la api... lumen está bien

1 respuesta
B

#10 ¿No te gusta ssr? ¿o no te gusta javascript y elegirías otro lenguaje?

1 respuesta
spud

NodeJS y React

1 respuesta
B

#12 Mira que he intentando veces pillarle el rollo a react pero me cuesta.. Me gusta más vue y estoy descubriendo svelte (y sapper ssr) y me está gustando.

1 1 respuesta
spud

#13 Vue mola... la curva de aprendizaje es muy bajita, pero si te haces con uno de los "grandes" ya sea React o Angular.... te será mas fácil manejar todos los frameworks. En mi caso veo React bastante fácil... y aun mas con hooks y componentes funcionales...

1 respuesta
B

#14 Si lo sé, tienes razón, pero no sé... Svelte me permite centrarme en hacer lo que necesito y no en tanto cómo funciona la programación para hacer lo que necesito... no sé cómo explicarlo... al compilar todo va solo... y es un auténtico tiro.

Lecherito

Rust con https://actix.rs/ cientos de miles de peticiones por segundo https://www.techempower.com/benchmarks/ o https://rocket.rs

De nada.

1 1 respuesta
s4suk3

#11 no me gusta javascript, y menos react, es muy complicado todo

si no os importa el seo, yo me tiraría de cabeza a flutter web

una muestra de código loco de react

export default connect(({ login, loading }: ConnectState) => ({
  userLogin: login,
  submitting: loading.effects['login/login'],
}))(Login);
4 respuestas
B

#17 ¿Y cuál sería tu elección ideal?

#16 ni conocía Rust, voy a echarle un ojo. ¿Vale para aplicaciones de escritorio, scripts, web, backend, etc como javascript o python?

1 respuesta
Unrack

Python + fastapi. Lo tienes montado en nada y rendimiento más que aceptable.

s4suk3

#18 esto es una prueba que hice para ver el nuevo performance de flutter web, que dicen que lo mejoraron x15
https://mensageo.com

y con el mismo código tienes app iOS + android + web

1 respuesta
B

#20 Pues hice una app en flutter y me encantó. Dart desde luego me gusta.

No sabía que también podías hacer webs. Imagino que a nivel de front, no de back para API.

isvidal

#17 Muy complicado todo :(

Ranthas

Usa el que te salga de los cojones; aquí poca guía vas a encontrar porque cada uno te dirá lo que sabe usar y ya.

Y para muestra un botón, leéte las respuestas del hilo, prácticamente no hay dos iguales.

1 1 respuesta
eondev

#23 si hombre si, falta el otro tali .net para que le vuelva a repetir .net core xD

s4suk3

falta el nuevo framework js de la semana
https://sapper.svelte.dev/

1 respuesta
Saiko9

Yo en los tiempos de ahora lo tengo claro.

Golang, es un lenguaje de sistemas que te viene muy bien para hacer servidores, es tan facil de aprender como Python.

Obviamente si nos ponemos en plan super pro te recomendaria como te han dicho Rust, pero la curva de aprendizaje no tiene nadaaa que ver, te lo aseguro.

1 respuesta
B

#25 pues ese es el que me está encantando la verdad. No lleva una semana, y la verdad que es muy rápido. Creo que puede hacerse hueco entre vue y react. Es muy muy fácil de usar.

#26 pero rust vale para lo que pregunto en #18?

2 respuestas
JuAn4k4

#27 No uses Rust para hacer web, si no concoes rust y no eres muy de programar a más bajo nivel, ni lo mires, o lo sufrirás. Si te gusta programar a más bajo nivel, controlar temas de memory management mientras programas, entonces dale.

Valer vale, pero no está pensado para eso principalmente

Saiko9

#27 hombre para temas de scripting es mejor usar un lenguaje interpretado.

Tu ten en cuenta que no puedes tener todo a la vez:

  • quieres bajo nivel y cosas de gran rendimiento y dificiles (memory safety): Rust
  • quieres un lenguaje de sistemas facil de aprender que tenga un buen rendimiento en backend: Golang
  • Cosas que valgan para todo con sus penalizaciones en rendimiento (aunque igual ni lo notas): Python, Javascript, Ruby...

Al final un proyecto es dificil en el lenguaje en el que lo hagas, dudo mucho que no satisfagas tu rendimiento usando lenguajes interpretados normales asi que elige lo que creas que se te va a dar mejor para poder acabar el proyecto y fin.

1 1 respuesta
B

#29 muchas gracias, entonces lo descarto, no busco complejidad del lenguaje ni necesito bajo nivel.

Golang me habían hablado MUY bien de él, quizá mire a ver.

Aunque veo que lo más polivalente y útil para las dos cosas es JavaScript aunque muchos lo odien.