User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 20

Tema: ¿Que ventajas tiene core data (iOS)?

  1. #1

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts

    Question ¿Que ventajas tiene core data (iOS)?

    Buenas,

    Hace una semana que me puse a actualizarme con el tema iOS que llevaba desde el 4 sin tocarlo... asi que nada swift y vamos que nos vamos. Me encuentro trasteando con core data y no le veo la utilidad, asi que como estoy seguro que me pierdo algo voy a preguntar a los que haceis apps de ios a diario que ventaja tiene sobre usar sqlite a pelo.

    A ver mis puntos son que sabiendo sql no veo que tiene core data que sea mejor, mas alla de comodidades y la "productividad" que no son importantes para mi.. es decir esto lo enfoco como programador, no como empresa que tiene que ser productiva....

    Ventajas:
    -diseñas la base de datos y las relaciones desde el propio xcode
    -generas los nsmanaged objects y ya estas listo
    -el codigo es simplon, fetch y push y vamos al tomate, no hay consultas sql.

    Desventajas:
    -las tipicas de cualquier framework, volvernos ********** al quitarnos de saber usar herramientas y cosas como SQL (Que fijate tu en android se usa y nadie ha muerto). Gracias a tanta abstraccion al final no sabemos ni hacer la O con un canuto..

    Dejando de lado estas "ventajas", ¿que mas aporta core data que no veo?

    Matizo mas para tratar de evitar debates innecesarios:

    La pregunta no es si usar core data o no usarlo. NO es una cuestion de si una bbdd es util o no, ese punto no es relevante. Mi pregunta es, ¿que ventajas tiene usarlo frente a pasar de él y usar sqlite a pelo?.

    La pregunta es, sabiendo sqlite, ¿vale la pena usar core data y dejar sqlite de lado?

    Porque entiendo que alguien nuevo que hace una app por primera vez y no sabe sql le puede interesar aprender core data y se olvida de sql, para los que sabemos sql no vemos excesivas ventajas, de ahi mi pregunta. Sobre todo porque si luego haces apps de android tendras que tirar de sqlite.
    Última edición por Eskema; 28/11/2016 a las 13:28

  2. #2

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    ¿Controles que se sincronicen con los datos sin escribir código?
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  3. #3

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Buen punto , pero... todo eso despues de escribir todo el monton de codigo boilerplate para hacerlo funcionar, ¿no?

  4. #4

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Hombre tiene la ventaja de cualquier ORM también, que trabajas con objetos y es iOS quien te gestiona todo el tema de almacenaje, memoria y demás.
    Dicho esto, depende de para qué quieras una bbdd yo creo que no he usado CoreData en años. Es más, de la tocho apli del banco quitamos la bbdd (que usabamos como caché) porque no nos daba ninguna ventaja. Ha sido la única aplicación en la que he necesitado una bbdd en todos estos años.

  5. #5

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Por ejemplo estaba trabajando en una app de una inmobiliaria con 5000 propiedades, y para no estar constantemente haciendo consultas se copiaba la bd a local en el primer arranque y luego todo era obviamente "rapidisimo" al ser consultas locales, se usaba sqlite a pelo sin mas historias.
    Ahora claro te dicen de modernizar la app y usar core data y no veo una cantidad de cosas interesantes como para actualizarse. Lo veo como decir, "vamos a cambiar esta app que funciona perfectamente de obj-c a swift" , ¿por qué?, pues porque mola mas swift xDD

    Que ojo, no le quito su merito al core data, se trabaja con objetos y tal, pero vaya teniendo tu "workflow" ya montado y tus wrapers (¿te acuerdas del tuyo misato?) con una bd y sabiendo sql, readaptarse no veo que me aporte una gran cantidad de cosas.

    Supongo tambien que no he trabajado en una app enterprise como para poder valorar correctamente su uso, y claro en apps de andar por casa pues ni fu ni fa. Pero claro oyes a todos hablar maravillas del data....

  6. #6

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts

    ¿Que ventajas tiene core data (iOS)?

    Con 5000 registros si es solo una tabla yo los dejaba en memoria que te será mucho más rápido. O guardaba el json.

    Pero montar coredata solo para eso me parece overkill. Es más no merece la pena ni SQLite xDD

    EDIT: Pensándolo mejor depende de las búsquedas que hagas si puede ser más eficiente tenerlo en una bbdd que serializado o en memoria.
    Última edición por ^MiSaTo^; 24/11/2016 a las 15:08

  7. #7

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    Parece que solo quieren actualizar para decir que usamos tal tecnologia, por postureo.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  8. #8

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Parece que solo quieren actualizar para decir que usamos tal tecnologia, por postureo.
    Lo tipico, ahora esta de moda swift pues lo usamos, y el core data ese pues tambien lo quiero en mi app, y oye que hay gps pues pongame 2 de gps en mi app aunque no lo use xD

    Cita Iniciado por ^MiSaTo^ Ver mensaje
    Con 5000 registros si es solo una tabla yo los dejaba en memoria que te será mucho más rápido. O guardaba el json.

    Pero montar coredata solo para eso me parece overkill. Es más no merece la pena ni SQLite xDD

    EDIT: Pensándolo mejor depende de las búsquedas que hagas si puede ser más eficiente tenerlo en una bbdd que serializado o en memoria.
    Era una tabla si, y las busquedas son lo tipico, que si filtra por la urbanizacion, que si filtra por precio, que si por num de habitaciones, etc, etc. Vamos todas las combinaciones posibles de parametros...
    La idea de tenerlas en la bd local es ahorrar el ancho de banda por cada vez q un usuario consulta la lista, y en una app asi le puedes dar mucho tute mirando casas, de ahi que se bajaran en el inicio cuando instalas la app y luego a tirar millas con el local. No es que sea la panacea pero tenia su uso la bbdd.

  9. #9

    Fecha de ingreso
    Jun 2004
    Ubicación
    Vivo en el pito foro...
    Mensajes
    20,686
    Mencionado
    70 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    230
    Agradecer Thanks Received 
    742
    Thanked in
    Agradecido 466 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    28
    Cita Iniciado por ^MiSaTo^ Ver mensaje
    Con 5000 registros si es solo una tabla yo los dejaba en memoria que te será mucho más rápido. O guardaba el json.

    Pero montar coredata solo para eso me parece overkill. Es más no merece la pena ni SQLite xDD
    ¿Puedes por favor venir y explicárselo a toda nuestra comunidad? se llevan una empalmada con ORMs y Realm.io que no pueden ni caerse de morros. Y luego pa' na, porque por cuatro datos que tiras de un json cacheado con etags no merece hacer una query o un index. Hasta monté un wrapper para un key-value store en binario, rapidísimo, y no eran capaces de ver las ventajas.
    Última edición por pakoito; 25/11/2016 a las 03:55

  10. #10

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Eskema Ver mensaje
    Lo tipico, ahora esta de moda swift pues lo usamos, y el core data ese pues tambien lo quiero en mi app, y oye que hay gps pues pongame 2 de gps en mi app aunque no lo use xD



    Era una tabla si, y las busquedas son lo tipico, que si filtra por la urbanizacion, que si filtra por precio, que si por num de habitaciones, etc, etc. Vamos todas las combinaciones posibles de parametros...
    La idea de tenerlas en la bd local es ahorrar el ancho de banda por cada vez q un usuario consulta la lista, y en una app asi le puedes dar mucho tute mirando casas, de ahi que se bajaran en el inicio cuando instalas la app y luego a tirar millas con el local. No es que sea la panacea pero tenia su uso la bbdd.
    Hombre es evidente que quieres cachear la consulta de alguna manera. Lo que me refiero es que a lo mejor para esa cache no te hace falta tener una base de datos y puedes hacerlo de otra manera más eficiente.
    Es algo que se hace en el 99% de apps xD

  11. #11

    Fecha de ingreso
    Feb 2004
    Ubicación
    Madrid
    Mensajes
    22,749
    Mencionado
    226 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,240
    Agradecer Thanks Received 
    1,902
    Thanked in
    Agradecido 1,185 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por pakoito Ver mensaje
    ¿Puedes por favor venir y explicárselo a toda nuestra comunidad? se llevan una empalmada con ORMs y Realm.io que no pueden ni caerse de morros. Y luego pa' na, porque por cuatro datos que tiras de un json cacheado con etags no merece hacer una query o un index. Hasta monté un wrapper para un key-value store en binario, rapidísimo, y no eran capaces de ver las ventajas.
    Es que depende de la cantidad de datos, las relaciones que haya entre ellos (si son más de una tabla o no) y las búsquedas que se hagan.

    Pero vamos yo llevo 7 años haciendo apps y muy pocas veces he tenido la necesidad de usar una base de datos.

    El caso más común es lo que ha dicho Eskema, una sola tabla y no muchos registros. Para eso no merece la pena montar la bbdd a no ser que hagas búsquedas complejas.

    Ahora bien, también digo que CoreData es bastante más eficiente que SQLite a pelo.

  12. #12

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por ^MiSaTo^ Ver mensaje
    Hombre es evidente que quieres cachear la consulta de alguna manera. Lo que me refiero es que a lo mejor para esa cache no te hace falta tener una base de datos y puedes hacerlo de otra manera más eficiente.
    Es algo que se hace en el 99% de apps xD
    Lo se, pero aqui entramos en el "vamos a poner una bbdd porque es lo que hay en el server", asi que la bbdd local no es mas que un clon de la web... ya se sabe "le ponemos lo mismo al cliente no se vaya a quejar" xD

    Como dices tu me podria bajar los 5k registros al abrir la app por primera vez, serializarlos luego a un json y tenerlos ahi guardados para luego leer el json en cada arranque de la app y tirar de memoria, peeeero la tecnologia manda xDDD

  13. #13

    Fecha de ingreso
    Aug 2003
    Mensajes
    681
    Mencionado
    5 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    12
    Agradecer Thanks Received 
    92
    Thanked in
    Agradecido 55 veces en [ARG:2 UNDEFINED] posts
    Si tu pregunta es sobre si usar o no coredata (o por extension cualquier ORM) pues... depende.

    Alguien muy serio y muy teórico te dirá que todos los ORM parten de un error de base, y es confundir una estructura de datos (las tablas) con un objeto. Ambos no son, ni pueden ser lo mismo, y por eso, casi siempre derivan en problemas gravísimos de rendimiento.

    Ahora bien, si vas a hacer operaciones CRUD simples y es importante almacenar datos puede ser una buena opción.

    Pero de todo esto: ¿cual es la respuesta correcta cuando empiezas un nuevo proyecto? La respuesta correcta y la que debes tomar siempre, es que no debes decidir qué sistema de base de datos vas a necesitar ni al principio ni a la mitad del proyecto. Has de posponer todo lo posible, hasta el último día la decision sobre la base de datos que vas a usar. Mientras tanto, usa mocks y si es necesario, la implementación más simple que se te ocurra. En un momento dado verás que incluso esa implementación temporal y en apariencia incompleta puede ser la correcta.

  14. #14

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por amkam Ver mensaje
    Si tu pregunta es sobre si usar o no coredata (o por extension cualquier ORM) pues... depende.

    Alguien muy serio y muy teórico te dirá que todos los ORM parten de un error de base, y es confundir una estructura de datos (las tablas) con un objeto. Ambos no son, ni pueden ser lo mismo, y por eso, casi siempre derivan en problemas gravísimos de rendimiento.

    Ahora bien, si vas a hacer operaciones CRUD simples y es importante almacenar datos puede ser una buena opción.

    Pero de todo esto: ¿cual es la respuesta correcta cuando empiezas un nuevo proyecto? La respuesta correcta y la que debes tomar siempre, es que no debes decidir qué sistema de base de datos vas a necesitar ni al principio ni a la mitad del proyecto. Has de posponer todo lo posible, hasta el último día la decision sobre la base de datos que vas a usar. Mientras tanto, usa mocks y si es necesario, la implementación más simple que se te ocurra. En un momento dado verás que incluso esa implementación temporal y en apariencia incompleta puede ser la correcta.

    La pregunta no es si usar core data o no usarlo. NO es una cuestion de si una bbdd es util o no, ese punto me la pela muy mucho xD. Mi pregunta es que ventajas tiene usarlo frente a pasar de él y usar sqlite a pelo.

    La pregunta es, sabiendo sqlite, ¿vale la pena usar core data y dejar sqlite de lado?

    Porque entiendo que alguien nuevo que hace una app por primera vez y no sabe sql le puede interesar aprender core data y se olvida de sql, para los que sabemos sql no vemos excesivas ventajas, de ahi mi pregunta. Sobre todo porque si luego haces apps de android tendras que tirar de sqlite.

  15. #15

    Fecha de ingreso
    Aug 2003
    Mensajes
    681
    Mencionado
    5 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    12
    Agradecer Thanks Received 
    92
    Thanked in
    Agradecido 55 veces en [ARG:2 UNDEFINED] posts
    A eso me refiero Eskema, es que al ppio no deberias tomar esa decision, la mejor opcion es no usar ninguno!!

Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •