Una app para el blog

No hay necesidad, ninguna necesidad, pero es un ejercicio de aprendizaje para mí y estas cosas me entretienen: una app para el blog.

Hace unos años que quiero meterme con el desarrollo en Flutter (Gracias Alfredo por ayudarme al comienzo!) ya que tiene cosas muy útiles para exportar a distintos sistemas operativos, este framework de Google va de la mano de su lenguaje Dart que tiene tanto de JAVA, pero eso no viene al caso, la idea era crear una app para aprender un poco.

Fracasé miserablemente, hasta que, gracias al espíritu emprendedor de... Claude 😁pude superar mis limitaciones y crear una app. Todavía no está publicada, voy paso a paso.

Una API para bloguearlos a todos

Como la idea es aprender primero tuve que programar una API para el blog, una de consulta primero para poder ver los posts y los comentarios, esa funcionó fácil de una.

Una API que sólo expone contenido, sin validación de nada, es extremadamente sencilla porque es prácticamente un SELECT de lo que hay en la base de datos. Esta parte me recordó a mis comienzos creando el CMS del blog.

Pero la cosa se puso complicada cuando tuve que involucrar el ingreso de usuarios.

A diferencia de PHP donde tengo control absoluto de todo, cuando pasás estas cosas a una API se vuelve más "complicado", así que necesitás una autenticación JWT con tokens y refresh tokens para que nadie se robe una sesión que no debe ni contraseñas ni nada por el estilo.

En un primer intento Claude Sonnet 4.5 se enmarañó solo, clásico problema al desarrollar con AIs, si les das muchas tareas de golpe, se traban.

Para testear le exigí que me diera todas las instrucciones para hacerlo desde Postman, así, si podía emular "a mano" lo que la app haría, y tener éxito, recién ahí tocaría la aplicación.

Testing de la API desde Postman

Tuve que borrar todo y empezar de nuevo 😁, pero la segunda vez, con un pedido más simple, salió muy bien. Tuve que corregir algunas cosas, pero lo más complicado estaba.

Luego pasé a crear la parte de login en la app, me llevó un par de vueltas al descubrir nuevos bugs, pero funcionó.

De ahí di otro paso a extender las funcionalidades de la API, hoy permite:

  • Mostrar posteos (en orden y paginado)
  • Mostrar comentarios (con respuestas anidadas)
  • Login
  • Edición de perfil
  • Logout
  • Voto de comentarios
  • Comentar
  • Responder otros comentarios

y todo bastante seguro ¿Qué me falta? El login por Google, si bien está implementado en la API tengo que leer un poco más sobre qué autorizaciones requiero y cómo implementarlo en una app de desarrollo.

Interfaz de Android Studio

Instalación

Por el momento sólo creé el APK que requiere que en mi teléfono tenga el modo de desarrollador activo.

Quiero tener todo más pulido para ver si me animo a publicar una versión instalable y usable.

Antes de eso tengo que verificar que se contabilicen bien views, que el user/pass viaje bien encriptado, que recuerde las sesiones bien (por ahora anda joya), que muestre los avatares en los comentarios, que maneje mejor el BB Code, etc.

Pantalla de Login y perfil de usuario

Mi paso siguiente no es una app de producción sino: agregar La Comunidad a la App.

De esta forma tendría mucho más sentido que tan sólo un lector de noticias, poder incorporar la comunicación de los usuarios con la comunidad que ya está creada y funcionando.

Obviamente eso significa extender la API con más endpoints, pero no son complicados, son bastante sencillos.

La parte complicada estará con el tema de subir imágenes y videos, veré cómo cuernos lo resuelvo, ya bastante bonito quedó en La Comunidad porque ese material no se sube al blog sino a una CDN que armé a tal efecto (super sencilla, pero útil), por lo que la seguridad del blog no se ve afectada si es que alguien sube un archivo "sucio" (si, hay técnicas para infectar jotapegés y cosas asíGuiño.

La idea es que, una vez esté la comunidad integrada, poder distribuir una versión beta entre algunos de ustedes, recibir feedback y recién ahí pensar en aplicar en la Google Play Store para una versión pública.

En un teléfono real

A todo esto ¿Alguno de ustedes la usaría? ¿Qué creen que necesitarían en una app semejante? Obviamente estoy abierto a ideas así como también a propuestas locas, al fin y al cabo es un experimento!

¿Probabilidad de éxito? Ninguna, por supuesto!

Si te gustó esta nota podés...
Invitame un café en cafecito.app


Otros posts que podrían llegar a gustarte...

Comentarios

  • 1
    MaC     11/11/2025 - 09:29:22

    Me anoto como beta! siempre me gusto meter mano (?)

  • 2
    babblo     11/11/2025 - 09:36:14

    Acá no te sigo. Bien por tu aprendizaje pero una "app" que debería (y es) un web no te instalo.

    • 4
      En respuesta a 2
      Fabio Baccaglioni     11/11/2025 - 10:31:23

      desde ya que para leer el blog no tiene sentido, empecé por ahí porque es lo más fácil de implementar, la api sólo tiene que darte info que ya existe.

      lo difícil de implementar es cuando tiene que interactuar, dar información, validarla, guardarla ,reaccionar en consecuencia, por eso es ahí donde estoy aprendiendo más.

      después creo que la comunidad es donde más sentido tiene, porque es muy interactiva, para lector escriban fabio.com.ar en el browser y listo 😋

  • 3
    matecinho     11/11/2025 - 09:56:57

    ¿Alguno de ustedes la usaría?



    La comunidad le da sentido de ser, tiene mucho potencial por ahí. igual yo no entiendo un choto de última doy feedback con la UI para decir que participo jajaja

  • 5
    Fede     11/11/2025 - 10:35:19

    Fabio está enmierdando el blog. :-D

  • 6
    Rodrigo Herrainz     11/11/2025 - 10:36:46

    Fabio, la API es aparte del CMS del blog? La hiciste en PHP también?

    PD: Felicitaciones por la inspiración!

  • 7
    Fernando     11/11/2025 - 10:51:15

    Me interesa el tema testing, estoy del lado del diseño, así que por ese lado te puedo dar feedback.
    Aunque se que a los programadores les chupa un huevo el diseño, solo quieren que funcione y listo. :D

    • 9
      En respuesta a 7
      Fabio Baccaglioni     11/11/2025 - 10:56:58

      jaj para nada, el tema es que a veces, sin tanto control y usando frameworks con sus restricciones, el diseño puede ser una cosa "discutible" que va desde el "oh, si, de una" al "no tengo la más puta idea de cómo se hace eso" 😁
      En este caso busqué dejarlo lo más simple posible porque lo que importa es el contenido, luego tendré que ver el tema colores y, especialmente, el modo oscuro que es ideal para leer cosas.

  • Osvaldo     11/11/2025 - 11:11:59

    Grande Fabio, siempre innovando!!!
    Avise y la probamos.

  • gorlok     11/11/2025 - 11:34:25

    Consejos:
    * agrega openapi con swagger para poder probar la API de forma rápida y sencilla, con seguridad accesible solo para los admins, o ni siquiera expuesta, para dev local.
    * usá alguna forma de testing automático de la API (framework de testing, vscode http, scripts curl, lo que gustes). Si bien postman es útil para una prueba concreta y experimentar, pero no mucho para después automatizar las pruebas. Encuentro mejor usar swagger y alguna forma automatización de las pruebas vía código/script con algún framework de testing o no, pero que esté en el código del proyecto, y se pueda usar por CLI.
    * después podrías ir refactorizando el blog para usar los mismos servicios y métodos de la API (llamados internamente), para no reimplementar lo mismo dos veces (potencialmente con diferentes resultados y comportamientos, y doble mantenimiento). Aunque está bien tener separada la API de backend de la API de móvil, que al final terminen siendo dos UIs usando por detrás los mismos servicios para las mismas cosas.
    * e ir poco a poco, paso a paso, y siendo pragmático.

    Lo de usar la IA así, pidiendo cosas bien chicas y concretas, es lo mejor. Que planifique los cambios y detalle el paso a paso. Es que si no te hace cualquier cosa. Para prototipar algo rápido se puede ser ambiguo y amplio, pero para desarrollar en el día a día hay que llevarla de la mano o te hace desastres. Igual, si algo no sirve, se tira y se vuelve atrás, no hay drama, y se intenta de nuevo. Por eso siempre mejor ir por cambios concretos y chicos, pero esto vale para todo, con o sin IA. Hacete tickets y branches para cada cosita, así descartar algo es fácil y barato en tiempo/esfuerzo. Cualquier cambio grande, dividilo en muchos chicos, incluso si eso lleva a hacer pasos extras intermedios de transición que luego serán descartados, siempre es mejor avanzar sobre firme y viendo cada resultado.

    En fin, pinta muy bueno. Felicitaciones. No se si usaría la app porque soy más de usar la web directamente, aunque nunca digas nunca :D ya hay varios sitios que terminé usando su app por conveniencia (como imdb o wikipedia).

    • 13
      En respuesta a 11
      Fabio Baccaglioni     11/11/2025 - 11:55:44

      Claude tiene la manía de crearte tests y archivitos .md con cada cambio como para sobre-documentar todo 😁en comparación con otras AI para código es la que mejor hace esa tarea tan aburrida. Así que me arma los tests y todo sin que se lo pida.

      El problema es que su propio código a veces no pasa los tests!!! 😅

      Con respecto a pasar el blog a usar APIs, ni loco, no quiero y me niego contundentemente, el blog es absurdo y monolítico como todo código de hace 20 años, la dependencia a las APIs es innecesaria, de hecho, sí usan las mismas funciones, la API internamente llama a las funciones que ya existen del blog así no tengo que rearmar nada, pero no pienso romper lo que ya funciona.

      Por suerte cuando refactoricé el blog hace unos años ya había separado bastante las funciones para cada cosa, así que mostrar contenido o casi cualquier consulta tiene su función bien definida y usable. Eso hizo trivial la implementación de la API en muchos sentidos. Creo que fue lo más rápido de todo.

  • drk0027     11/11/2025 - 11:50:28

    Mmm como ejercicio de programación esta muy bien. Aunque también podrías hacerla PWA con react y tirar por react native. La cosa es que hace tiempo hubo una fiebre por convertir blogs a apps y tan rápido como apareció, desapareció. Todo es culpa de las redes sociales, porque con una app sigues a muchos creadores, mientras que una app para un blog, solo sigues a un creador por app.
    La idea de integrar la comunidad a la app le da mas valor. pero podrías aventurarte un poco mas. agregar una wiki o base de conocimiento que solo se acceda desde la app y que la puedan completar los miembros.
    Yo sigo sin saber que ruta tomar con mi blog creativo, pero admito que tiene su potencial, puesto que se podría agregar interactividad, acceso a contenidos especiales, y como hay literatura, marcadores, comentarios linea a linea y mas cosas. Pero no podría convencer a nadie de usarla XD
    (aparte de que wordpress me limita mas duro de lo que pensaba)

    • 14
      En respuesta a 12
      Fabio Baccaglioni     11/11/2025 - 11:58:37

      no pienso arruinar mi sitio con React jamás 😅 y, si bien estudié cómo hacerla PWA, no me gustó. No quería eso, lo problé y todo! Pero el resultado era, por lejos, mucho trabajo para poco resultado.
      Es decir, para molestarme en hacer una App la hago nativa, si la hago PWA debería, en tal caso, rehacer el blog ya en React y eso es justamente lo que no quería.

      Todavía me gusta la libertad de programar rápido una solución y la hyper eficiencia de hacerlo al byte que logra mucho mayor velocidad, React es una mierda en ese sentido y nadie podrá convencerme de lo contrario 😁

      No es mala la de ir agregando más servicios de datos, de hecho, quiero! pero primero empecemos con lo que tenemos que son los posteos, la comunidad, los comentarios y, como mucho, la ruleta rusa 😁

      Vos que tenés WP ya tenés la API creada por la misma plataforma, viene incorporada! Así que podés hacer uso de eso desde cualquier App.

      • 18
        En respuesta a 14
        drk0027     11/11/2025 - 15:25:44

        En react sale tan complejo? pensaba que unas cuantas plantillas y una consulta de api bastaba. tampoco tenias que dañar tu blog, lo podías poner en otro subdominio así como ya tienes el modo txt XD
        pero me dejaste picado, voy a ver si hago mi modo react a mi blog y le pongo PWA a ver que tal me va. No lo hice antes porque bueno, me acompleja mucho lo de "nadie lo va a usar" pero si ya de por si "nadie visita" mi blog, entonces que tengo que perder? XD
        Yo ya uso la api de mi blog en unos cuantos adefesios. Por ejemplo, en telegram tengo un bot que cuando lo invoco en modo inline, puedo buscar post de mi blog y mandarlos como url al chat en el que esté. En ese sentido, un servicio básico para tu app podría ser, sin tener que agregar mas secciones, un referenciador a post existentes. tipo, si estas hablando en comentarios de tal tema, te enlaza automáticamente a lo que tengas ya hecho en en blog.

  • doncan     11/11/2025 - 12:29:39

    Se ha convertido en lo que prometio destruir

    • 16
      En respuesta a 15
      Fabio Baccaglioni     11/11/2025 - 12:30:49

      dónde prometí destruir aplicaciones? cuándo tuve la capacidad de destruir? Yo siempre digo que hay que salir de Google, aprender a programar algo no tiene mucho que ver con eso, mi posición es no-dependencia.

      la app es aprendizaje, si no entendés eso...

  • Alejandro     11/11/2025 - 12:33:54

    Pinta muy buena. Tambien me gustaria usar la app. Me anoto para probarla

  • 19
    En respuesta a 18
    Fabio Baccaglioni     11/11/2025 - 15:27:39

    si, todavía ni le puse filtros por tags o categorías ni buscador, tener eso servido en la API sería cómodo para un bot de ese tipo, especialmente para cuando me preguntan algo y no sé si lo escribí alguna vez 😁

  • Ricardo Thalhuen Moraga Cortez     11/11/2025 - 18:39:04

    Pero porque no iba a existir una app para el blog? Si un amigo me contó que ya existe una app para un sitio llamado Madame voyeur 🤔
    Y si, me sumaria como beta tester!

    • 21
      En respuesta a 20
      Fabio Baccaglioni     11/11/2025 - 19:23:13

      si alguien armó la app de MV que avise! así veo qué onda 😁

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https
Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.