last day (15 days later) » 

16:24
Holaa
Hola
Mira te comento
Tengo una web hecha en laravel
Y ahora me piden crear la app para android
Lo que pasa que el cliente me ha pedido tantas validaciones y restricciones en el sistema que ya ni me acuerdo de todas
¿Te han pedido, tal cual, una app para Android? ¿Te han dado algún ejemplo de lo que quieren conseguir?
Si, lo mismo que la web pero en version android
Si es lo mismo que la web, ¿por qué no adaptar ésta misma via CSS? No acabo de entender el propósito.
16:27
seria como tener facebook.com y la app de facebook en android
Nose, es lo que me pide el cliente
Version web y de android
¿Puedes pasarme un enlace?
Y sí, FB tiene una app dedicada, pero también es por si sola alrededor del 30% del tráfico de internet, del cual mucho es desde móviles. La app dedicada tiene una función clara, optimizar esos accesos.
Mi duda es unicamente, es mejor poner la validaciones en la db, o utilizo api rest y alli las correspondientes validaciones?
Por ej: no puede registratse personas menores de edad
Acabo de abrir esa página usando el modo adaptativo del inspector del navegador y tu web no es adaptable, por lo cual usarla desde móvil es un horror. Deberías plantearte (y plantearle al cliente) si te merece la pena modificar la vista para que funcione en móviles, antes de reescribir todo tu sistema para hacer una app real
Las validaciones deberían estar en tu modelo. Tu modelo debería estar escrito en Eloquent, separado de los controladores y de las vistas.
16:33
Y porque no ae pueden llegar a poner en la api rest?
Es a lo que quería llegar. Por tus comentarios, mi sensación es que tu código está mal estructurado, y por eso tu pregunta no acaba de tener sentido
Una API es una vista. una vista nunca debería hacer validaciones
yo hago un post y me devuelve si es posible o no crearlo
Ah vale valee
¿En qué lenguaje tienes previsto escribir las apps?
OK, bien. Si ese es el camino que realmente consideras correcto, reestructura tu código para separar modelo y vista; pon todas las validaciones en el modelo, y crea una nueva vista para la API.
16:37
Y no podria hacerlo en java sin api rest?
Osea, que beneficio me daria utilizar una api rest
Hombre, puedes usar el tipo de API que quieras. Puede ser GraphSQL, Rest (o mejor un sub-estándar como JsonAPI), o la que prefieras.
Pero tu app en java tiene que comunicar de algún modo con el servidor, y ese "modo" se llama API.
Y no puede ser haciendo consultas directas?
En ese caso, y como ya te han dicho, estarías abriendo tu base de datos a accesos públicos, y metiendo tu nombre de usuario y contraseña de la BdDD en la app; lo cual quiere decir que cualquiera con acceso a esa app y un mínimo de conocimiento de informática podría encontrar el usuario y contraseña y acceder a tu base de datos libremente. Incluyendo las cuentas de usuario.
En otras palabras, ni se te ocurra.
Claro, porque pueden mirar el contenido del .jar por ejemplo no?
Por ejemplo. O mirar la comunicación entre su propio dispositivo y la base de datos (un sniffer en tu propio sistema es algo sencillo y legal).
16:43
Y en caso de yo tener un controlador para mi api
Por ejemplo, con los metodos getInfo(User u)
Que me devuelve mediante json la informacion del usuario
Yo puedo tener tambien la de modificarPost()
Y no veo nada de malo, hacer validaciones en ese metodo
Por ej: “ no puedes modificar el post si no eres el dueño”
Oh, puedes hacerlo. De hecho, si entiendo bien, has hecho algo parecido en tus controladores actuales. El problema es el que tienes ahora; tus controladores actuales hacen las verificaciones; necesitas nuevos controladores, tienes que reescribir tus validaciones.
Si las validaciones estuviesen en el modelo, no tendrías que reescribirlas ahora.
Ya... Prefiero reprogramar la web y hacerlo todo bien
Una api que incluya las validaciones correspondientes y posteriormente en la web y android comunicarme con la API
Y que me devuelva los datos, si es posible, eliminar etc
Y asi tengo todas las validaciones en un unico sitio, la api
Te aconsejo empezar por estudiar el patrón MVC (es.wikipedia.org/wiki/Modelo–vista–controlador)
Si, es el que se utiliza en laravel
No es necesariamente el mejor, pero es el más usado y te servirá perfectamente
16:48
Porque?
Bueno si
Otra opcion es poner las validaciones en el modelo
Y asi en la version web no necesito api
Modelo: accede a tu BdDD, incluye todas las validaciones necesarias, etc.
Controlador: Hay uno por ruta, lo único que hace es cargar el modelo apropiado y llamar a una vista para mostrarlo.
Vista: muestra los datos (normalmente en HTML oJson)
El Modelo no se toca, es el mismo para todas tus versiones.
Y en la version android, que api utilizo?
Necesitas dos tipos de Vista: HTML y Json (asumiendo que tu API use Json, si no, lo que toque)
Una formada por esos modelos?
Tu API para las apps es una colección de rutas HTTPS. Yo suelo utilizar el estándar JsonAPI (jsonapi.org)
Cada una de esas rutas llama a un controlador
16:51
Si, pero necesitaria 2 controlasores
Luego, por otro lado, tienes tu web, que tiene sus propias rutas, que llaman a sus propios controladores.
Uno que devuelva html y otro json(api)
Controladores necesitas muchos
Ahhh valee ya te entendido
si llamas a /api/users eso es uno, si llamas a /api/videos es otro
(por ejemplo)
16:53
Api: Modelo: accede a tu BdDD, incluye todas las validaciones necesarias, etc.
Controlador: Hay uno por ruta, lo único que hace es cargar el modelo apropiado y llamar a una vista para mostrarlo.
Vista: muestra los datos (Json)
Y posteriormente
Pero cada controlador es relativamente sencillo.
Otros controladores y vistas para la web
Eso es
Mil gracias
De nada

last day (15 days later) »