DEV Community

loading...
Cover image for Módulos nativos para React-Native con Go (1/4)

Módulos nativos para React-Native con Go (1/4)

x0s3
I'm a big fan of cross platform development, due to that, my main languages are TypeScript, Java and Golang. Thanks to this stack I'm able to develop and cover all areas of an app development.
Updated on ・3 min read

I'm back boiz

Pues sí gente, he vuelto!

Tenía ya ganas de volver a escribir algún post y este tema la verdad que me gustaría compartirlo con todos vosotros 😄

La intención de esta serie de posts es ir de "0 to hero" en el desarrollo de módulos nativos y explicar un poco sobre el futuro de los módulos nativos de RN 🤓

Zero to Hero

La idea principal es separar por partes cada paso y digerir poco a poco todo sin que sea un tocho que ni Los Pilares de la Tierra:

Contenido previsto

Sin más preámbulos 'amos al lío.

Al ataker!

Toma de contacto y motivación

En esta introducción al gran camino del desarrollo de módulos para RN con Go, voy a dar bajo mi punta de vista las ventajas que tiene:

  • Compatibilidad con Android y iOS con el mismo código base
  • Mucho mas sencillo que C++
  • Ahorras tiempo desarrollando la misma funcionalidad
  • Portabilidad a otras plataformas/entornos tales como Node.js o WASM 😜
  • Ser capaces de reutilizar ese módulo para futuras apps con diferentes frameworks como Flutter, NativeScript, etc.
  • Dar la bienvenida a las librerías de Go ya que podremos usarlas 🤩
  • Foco de errores y tests en un único código fuente

Por desgracia no todo son ventajas también hay que mencionar las desventajas o los pequeños problemas que puedes encontrar:

  • Actualmente la compatibilidad de tipos entre Go y Java/Objc no es muy amplia aún (ya explicaré en otro post o quizás en la parte 4 como podemos llegar a solventar este "problemilla")
  • En Android tendremos que pasar por un nuevo bridge (NDK)
  • Añadimos complejidad al proyecto
  • El tema debug quizás se hace algo mas complicado de lo normal
  • Tenemos que saber Go

Y ahora os preguntaréis ¿Qué tiene que ver esto con React-Native?
Pues nada la verdad, pero si que nos podemos beneficiar y se podría decir que podemos desarrollar nuestra app ¿x4 de rápido? 🤔

FAST AND FURIOUS RN!!

Básicamente nos ahorramos el tener que aprender Objc o Java (o ambos) para poder llegar a tener nuestras apps a la par en tema de funcionalidades nativas, ya sean algoritmos complejos que requieran alto rendimiento, compartir lógica de negocio o simplemente queremos beneficiarnos de alguna librería ya creada con Go.

La verdad que estoy bastante contento y sorprendido lo rápido que se puede llegar a realizar las cosas haciendo uso de Go con RN, sin ir más lejos tengo por aquí una app que las vistas son RN y todo lo demás funciona bajo un módulo de Go (la verdad que me he quitado un peso de encima al no tener que programar en Objc 😂) Repo ItBooks

Creo que lo podemos ir dejando por aquí de momento, una breve chapa, siento que en este post solo sea soltar "rollo-rollo" pero era algo necesario, los próximos serán mejores!!

O no...

Discussion (0)