Go para el Desarrollo Web

Descripción general

Go ofrece velocidad, seguridad y herramientas fáciles de desarrollar para aplicaciones web.

Go está diseñado para permitir a los desarrolladores desarrollar rápidamente aplicaciones web escalables y seguras. Go viene con un servidor web fácil de usar, seguro y eficaz e incluye su propia biblioteca de plantillas web. Go tiene un excelente soporte para todas las últimas tecnologías, desde HTTP/2, hasta bases de datos como MySQL, MongoDB y Elasticsearch, con los últimos estándares de cifrado, incluido TLS 1.3. Las aplicaciones web Go se ejecutan de forma nativa en Google App Engine y Google Cloud Run (para escalar fácilmente) o en cualquier entorno, nube o sistema operativo gracias a la extrema portabilidad de Go.

Beneficios clave

Despliega en plataformas a una velocidad récord

Para las empresas, Go es preferible porque proporciona una implementación multiplataforma rápida. Con sus gorutinas, compilación nativa y espacio de nombres de paquetes basado en URI, el código Go se compila en un único y pequeño binario, sin dependencias, lo que lo hace muy rápido.

Aprovecha el rendimiento listo para usar de Go para escalar con facilidad

Tigran Bayburtsyan, cofundador y director de tecnología de Hexact Inc., resume cinco razones clave por las que su empresa cambió a Go:

  • Se compila en un solo binario : “Usando enlaces estáticos, Go combina todas las bibliotecas y módulos de dependencia en un solo archivo binario según el tipo de sistema operativo y arquitectura.”

  • Sistema de tipos estáticos — “El sistema de tipos es realmente importante para aplicaciones a gran escala”.

  • Rendimiento : “Go tuvo un mejor desempeño debido a su modelo de concurrencia y escalabilidad de CPU. Siempre que necesitamos procesar alguna solicitud interna, lo hacemos con Goroutines separadas que son 10 veces más baratas en recursos que Python Threads”.

  • No se necesita un framework web : "En la mayoría de los casos, realmente no necesitas ninguna biblioteca de terceros".

  • Excelente soporte y depuración de IDE : "Después de reescribir todos los proyectos en Go, obtuvimos un 64 por ciento menos de código que antes".

Cliente Breve introducción Proyectos usando go
Caddy Caddy Caddy Caddy 2 es un potente servidor web de código abierto, listo para la empresa, con HTTPS automático escrito en Go. Caddy ofrece mayor seguridad de memoria que los servidores escritos en C. Una pila TLS reforzada impulsada por la biblioteca estándar Go sirve una parte importante de todo el tráfico de Internet.
Cloudflare Cloudflare Cloudflare Cloudflare acelera y protege millones de sitios web, API, servicios SaaS y otras propiedades conectadas a Internet. "Go está en el corazón de los servicios de CloudFlare, incluido el manejo de la compresión para conexiones HTTP de alta latencia, toda nuestra infraestructura DNS, SSL, pruebas de carga y más".
gov.uk gov.uk gov.uk La simplicidad y seguridad del lenguaje Go encajaban bien con la infraestructura HTTP del gobierno del Reino Unido, y algunos breves experimentos con el excelente paquete net/http convencieron a los desarrolladores web de que estaban en el camino correcto. "En particular, el modelo de concurrencia de Go hace que sea absurdamente fácil crear aplicaciones de E/S de alto rendimiento".

Comienza

Libros de Go sobre desarrollo web

  • Buffalo

    Un framework para el desarrollo web rápido en Go, curando bibliotecas Go y JS juntas.

  • Echo

    Un framework web Go minimalista, extensible y de alto rendimiento

  • Flamingo

    Un framework rápido de código abierto basado en Go con una arquitectura limpia y escalable

  • Gin

    Un framework web escrito en Go, con una API tipo martini.

  • Gorilla

    Un kit de herramientas web para el lenguaje de programación Go.

Ver más
  • julienschmidt/httprouter

    Un enrutador de solicitudes HTTP liviano y de alto rendimiento

  • gorilla/mux

    Un potente enrutador HTTP y comparador de URL para crear servidores web Go con 🦍

  • Chi

    Un enrutador liviano, idiomático y componible para crear servicios Go HTTP.

  • net/http

    Un paquete HTTP de biblioteca estándar

Ver más
  • html/template

    Un motor de plantillas HTML de biblioteca estándar

  • flosch/pongo2

    Una sintaxis de Django como lenguaje de plantillas

Ver más
  • database/sql

    Una interfaz de biblioteca estándar con soporte de controladores para MySQL, Postgres, Oracle, MS SQL, BigQuery y la mayoría de las bases de datos SQL

  • mongo-driver/mongo

    El controlador compatible con MongoDB para Go

  • elastic/go-elasticsearch

    Un cliente Elasticsearch para Go

  • GORM

    Una biblioteca ORM para Go

  • Bleve

    Búsqueda e indexación de texto completo para Go

  • CockroachDB

    Una evolución de la base de datos, diseñada para la nube para ofrecer SQL distribuido, resiliente y consistente a escala

Ver más
Ver más
  • gopherjs

    Un compilador de Go a JavaScript que permite a los desarrolladores escribir código de interfaz de usuario en Go que se ejecutará en todos los navegadores.

Ver más

Cursos

Proyectos

  • gopherjs, un compilador de Go a JavaScript, lo que permite a los desarrolladores escribir código de interfaz de usuario en Go que se ejecutará en todos los navegadores.
  • Hugo, el framework más rápido del mundo para crear sitios web
  • Mattermost, una plataforma de mensajería flexible y de código abierto que permite la colaboración segura en equipo
  • Caddy, un poderoso, listo para la empresa, servidor web de código abierto con HTTPS automático escrito en Go