Tecnologías para proyecto

B

Buenas.

Estoy preparándome para un proyecto que tengo entre manos y me gustaría conocer vuestra opinión y escuchar sugerencias sobre las tecnologías a utilizar.

La idea del proyecto la tengo clara, y las tecnologías más o menos también. Lo que sí o sí que me gustaría hacer es una app web y una app móvil, todo ello en un plazo de unos 7 meses.

  • Backend: C#.
  • Base de datos: Postgre/MariaDB
  • Frontend: Blazor o JS puro (sin framework)
  • Móvil: Kotlin.

Bien, el mayor problema radica en el desarrollo móvil y es que actualmente tengo 0 idea del mismo. Sé que podría hacer una pwa y ahorrarme tiempo pero no es una idea que tenga en mente a priori.

Sobre el tema del front, pues 3/4 parte de lo mismo. Frameworks de JS no he tocado jamás y si me quiero poner a estudiar Kotlin veo poco posible ponerme también con un framework.

Y está Blazor, lo he tocado bastante este verano y me gusta pero el principal problema bajo mi punto de vista es que tiene muy poca documentación en comparación a JS, lo cual puede llegar a ser un problema pues las respuestas a preguntas son bastante inferiores.

Creo que sobre el backend no hay mucho que discutir, utilizo C# porque me parece mucho más bonito y eficaz que Java pero no descartaría otra propuesta si eso me va a ayudar a aprender y mejorar.

Quizás se me haya ido un poco la pinza queriendo abarcar "tanto" y sabiendo tan poco sobre ciertas tecnologías, más aun siendo que el proyecto solamente lo voy a realizar solamente yo pero, quiero aprovechar este proyecto para meter horas en esas tecnologías desconocidas.

Por cierto, no he dicho la temática de la app pero creo que es redundante, no es nada relacionado con juegos ni con VR, tampoco va a ser una app comercial.

Muchas gracias.

aren-pulid0

Yo le meteria algo de cloud, ci/cd, github actions...

1 respuesta
B

#2 Sí, claro. Eso lo tengo bien pensado y sabido, quizás ando algo cojo de CI/CD pero vaya, todo sobre Docker, en un vps con su dominio...

Sobre la infraestructura 0 problemas pero vaya, que también estoy abierto a sugerencias.

freshnco

#1 Si te gusta/conoces/dominas C#, aprovéchalo

Back + front + móvil (c#, blazor, maui)

7 meses parece mucho pero pasan volando, tira de lo que conoces, optimiza el tiempo y con la experiencia que saques mejora el proyecto, prueba diferentes stacks...

1 respuesta
Soltrac

Si vas por .net tira por maui para las apps de móvil o ios y listo

1 respuesta
B

#4 #5 No conocía Maui, le echo un vistazo, gracias.

Chorlo

Yo intentaría como te han dicho simplificar al máximo el stack a un solo lenguaje.

  • Backend: Node
  • Frontend: Next o alguna mierda parecida
  • Móvil: React Native

Es cancerígeno si, pero esto me permitió poner una app en mercado en 2 meses, con suscripciones y toda la vaina. Si prefieres C#, ajustate a todo al mismo lenguaje si puedes.

2 respuestas
B

#7 El problema de usar lo que dices es que tengo 0 idea, con .net por lo menos me puedo defender pero con esas no he hecho absolutamente nada.

r2d2rigo

Ya que estas en la stack de. NET yo usaría SQL server.

#7 eso que tú dices ya lo puede hacer todo con C# y se ahorra el aborto de JS.

1 1 respuesta
B

#9 Tiene soporte para docker así que guay. La idea de utilizar MariaDB era de utilizar herramientas open source.

He trabajado con sql server por lo que es buena opción.

1 respuesta
Soltrac

#10 El coñazo de Sql Server es el licensing y los límites de Sql Express. Con el Express, que es el gratis, solo tienes máximo 1 core 1 gb de ram y 10 gigas de disco duro y si vas a tirar por web, q es lo q parece, necesitas licencia para el web.

Si no vas a usar temas de pirateo, quizás una base de datos open source sea mejor.

1 respuesta
B

#11 No había pensado en eso...

La idea es gastarme 0 € en el proyecto, a lo sumo un dominio pero ya.

1 mes después
B

A ver, tengo un problema a ver si me sabéis aconsejar...

Estoy con el proyecto y, lamentablemente, Blazor WebAssembly no permite Hot Reload por lo que, cada vez que hago un cambio en el front he de recargar el proyecto.

Indistintamente de esto, quiero tener una manera de coger el proyecto de la API Web y montarlo en un VPS o donde sea pero, la verdad, no sé qué tengo que mirar ni qué es lo más adecuado.

Intuyo que con CI/CD estaría chupado pero 0 idea de esto, sino también crear una imagen de docker y ya, ¿No?

¿Algún consejillo?

1 respuesta
desu
#13Boiisxu:

cada vez que hago un cambio en el front he de recargar el proyecto.

https://linux.die.net/man/1/watch

#13Boiisxu:

quiero tener una manera de coger el proyecto de la API Web y montarlo en un VPS o donde sea

https://lmgtfy.app/?q=blazor+webassembly+github+actions

1 respuesta
B

#14 No se puede con watch. Instalé el plugin dot net watch para rider y al ser un compound no te lo permite. Y es una solución con varios proyectos por lo que, en todo caso, la solución sería mover la API a otro directorio para la incompatbilidad.

No es el front lo que quiero hostear sino la API, el front sé hacerlo.

1 respuesta
desu
#15Boiisxu:

No se puede con watch

Poder se puede. Cuando compilas en Rider mira el output en la terminal y las variables de entorno. A los productos de Jetbrain les gusta sobre escribir el entorno, paths, variables, cuando ejecutas desde el IDE.

Si para Blazer se necesita algo mas complejo al ser wasm, no tengo ni idea, pero vamos, es montarte la funcion de build sobre tu shell y re-cargarla. Las herramientas ya tendran mecanismo de compilacion incremental.

Si esto te lleva mucho rato no pierdas el tiempo tampoco.

#15Boiisxu:

No es el front lo que quiero hostear sino la API, el front sé hacerlo.

Perdon, no se lo que es Blazer.

https://lmgtfy.app/?q=C#+github+actions

Si entras a Github y le das a la pesta;a Actions, el propio Github te va a recomendar acciones para el tipo de proyecto que te detecte. Incluyendo una seccion de deployment para los cloud habituales.

https://github.com/TU_NOMBRE_/NOMBRE_PROYECTO/actions/new


(ejemplo sobre java)

Usa el free tier de AWS, Azure o GCP.

1

Usuarios habituales