He regresado a la programación ahora usando NextJS 13 + React

By shadowmyst on 9/5/2023

Por cuestiones de un proyecto que me dejaron he vuelto a la programación, bueno realmente nunca he dejado de programar, nada mas que he estado muy ocupado en los últimos meses desde que me mude y solo me he podido enfocar en poquitas cosas.

Por cuestiones de que tengo que desenvolver el proyecto lo mas rápido posible he decidido usar el framework NextJS 13 que funciona junto con React y para no perder el tiempo con el backend todo lo voy a englobar en Firebase. Ya hace un año que les llegue a hablar de firebase, que en resumen es una herramienta de Google para que puedas tener un servicio de base de datos a tiempo real y sistemas de autentificación seguros sin tantos problemas y en pocos pasos, así puedo facilitarme las cosas rápido.

image.png

Como tengo que hacer el proyecto prácticamente en un mes, les estaré compartiendo mis avances y al mismo tiempo explicando como funciona NextJS por si en algún momento les interesa armarse un proyecto de esta forma.

La gran ventaja de usar React es que toda sección de tu web la puedes dividir en componentes y con ello hasta un simple boton puede ser un componente y lo puedes configurar como tú quieras, por ejemplo para este momento ando haciendo un Navbar como componente y aunque apenas lo estoy haciendo esta es su estructura principal.


import Link from 'next/link'

const Navbar = () => {

  return (
    <nav className="navbar" role="navigation" aria-label="main navigation">
      <div className="navbar-brand">
        <Link href='/' className='navbar-item'>Agropek</Link>

        <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="mainNavbar">
          <span aria-hidden="true"></span>
          <span aria-hidden="true"></span>
          <span aria-hidden="true"></span>
        </a>
      </div>
    </nav>
  )
}

export default Navbar

¿Por qué esto de los componentes es muy bueno?, porque al final te evitas construir un buen de código repetitivo, si creas un componente de un botón que vas a utilizar en diferentes lados te terminas ahorrando reescribirlos en todos lados y solo importas el componente creado en el lugar donde lo llegues a necesitar.

¿Y por qué usar NextJS?

Existen varios frameworks que integran bien a React; sin embargo, NextJS no lleva mucho que saco la versión 13, prácticamente un año, donde facilita la estructuración de toda una web de forma sencilla, además que es donde he encontrado mucho mas documentación sobre este framework, que ahorita no puedo arriesgar a investigar la poca documentación de otros frameworks.

Por ultimo quiero mencionar que con Firebase, implementar las bases de datos y usarlas es muy facil y rapida, por ejemplo en el siguiente codigo estoy pidiendo los campos a la base datos de la "colección" "anuncios".

const q = query(collection(db, 'anuncios'), where('estado', '==', 'Activo'))
  const querySnapshot = await getDocs(q)
  querySnapshot.forEach((doc) => {
    data.push([doc.id, doc.data()])
  })

Tengo que mencionar que Firebase usa una base de datos noSQL, así que sería bueno que te empaparas un poco del tema, pero realmente no es difícil de comprender. Además, que quiero mostrarles que desde la web de firebase puedes consultar tu base de datos de forma gráfica.

La base de datos de Firestore dentro de Firebase

Espero que les gusten los próximos post y que si les llega a interesar el tema pueden consultarme. Además, esta es una forma en que intento revivir mi comunidad de @developspanish y animar a que mas gente se anime a compartir su conocimiento de programación

Comments (3)

thorkellnft's avatar @thorkellnft 9/5/2023

Sin dudas es un tema que seguiré, no soy desarrollador, pero se un poco de desarrollo web, nunca he usado ningun framework, actualmente estoy en plena mejora de una herramienta que cree para trabajar con el LeoGlossary de LeoFinance, se llama LeoFlow, es algo rústica, ya que mis conocimientos son limitados, pero de apoco la he ido mejorando, enseguida me uniré a @developspanish y espero aprender mucho ahí con ustedes.

shadowmyst's avatar @shadowmyst 9/5/2023

Vas a ver que el desarrollo de "LeoFlow" te va a ayudar a mejorar tus conocimientos de programador, asi me paso, proyecto que empezaba a hacer desde mis inicios como programador, me genero mas conocimientos que van creciendo cada vez mas.

Por ejemplo, uno de los temas que quiero aprender un poco es el poder crear mi propia red neuronal y asi conocer sobre inteligencia artificiales, espero en algun momento llegar a eso

thorkellnft's avatar @thorkellnft 9/5/2023

Bueno la verdad de la primera versión a como esta ahora, he aprendido bastante y quiero seguir mejorando, tanto la web como mis conocimientos, la IA es un tema fascinante, hubo un tiempo en el que estuve aprendiendo python y le eche un ojo a las redes neuronales solo por ver como se creaban, en aquel momento me parecio bastante complejo, pero luego de aprender lo básico de python, volví a mirar y lo entendí un poco más y ya no me pareció tan complejo, así que a tí que tienes mucho más nivel que yo, se te hará fácil seguro.

hivebuzz's avatar @hivebuzz 9/5/2023

Congratulations @shadowmyst! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You published more than 550 posts.
Your next target is to reach 600 posts.

You can view your badges on your board and compare yourself to others in the Ranking If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Check out our last posts:

Our Hive Power Delegations to the August PUM Winners
Feedback from the September Hive Power Up Day
Hive Power Up Month Challenge - August 2023 Winners List
dobro2020's avatar @dobro2020 9/25/2023

react otorga esa facilidad a la hora de programar, tambien me ha pasado de tener que componetizar, ademas en un trabajo a remoto tuve que aprender next desde cero y fue bastante rapido el aprendizaje ya que facilita mucho el ruteo con sus params :D

shadowmyst's avatar @shadowmyst 9/25/2023

si la verdad que next me ha ayudado mucho para hacer de mi trabajo algo mas facil y hasta para poder usar los context tambien.