Laravel

Desarrollo en Laravel

Emyrix construye, actualiza y mantiene aplicaciones Laravel. Aplicaciones nuevas cuando el framework es la opción adecuada, código heredado que hay que leer antes de que nadie lo toque, actualizaciones de versión hechas de una en una, y el trabajo de rendimiento y seguridad que aparece cuando una aplicación lleva unos años en producción.

Desarrollo en Laravel desde Massachusetts, trabajando con empresas de todo Estados Unidos.

Experiencia técnica
  • Laravel
  • PHP 8.x
  • Blade y Livewire
  • Paneles de administración con Filament
  • React
  • MySQL y MariaDB
  • Redis
  • Colas y tareas programadas
  • APIs REST y GraphQL
  • Tests con PHPUnit y Playwright
  • Docker
  • CI/CD y deploys

Resumen

Qué hacemos y por qué importa

Laravel es sobre lo que construimos la mayoría de las aplicaciones a medida, y el sitio que está leyendo es una de ellas. Le da a un proyecto cuentas, permisos, colas, tareas programadas, correo, validación y migraciones de base de datos desde el primer día, que en un desarrollo a medida son semanas que de otro modo pagaría. Lo que no le da es estructura. Una aplicación Laravel sigue teniendo que organizarla alguien, y cinco años después, la diferencia entre una que se organizó y una que no es la mayor parte de lo que nos piden arreglar.

El trabajo se reparte a partes bastante iguales entre lo nuevo y lo heredado. Una aplicación nueva empieza por el proceso que tiene que sostener y un alcance por escrito, y las partes poco vistosas se construyen desde el principio: un registro de auditoría, procesos en segundo plano que reintentan, notificación de errores que le avisa a alguien de que un proceso nocturno ha fallado. Una heredada empieza por leerla. En qué versión está, si esa versión sigue recibiendo correcciones, cómo está estructurada, qué tiene tests y cuánto de ella se usa de verdad. Después recibe una descripción clara de su estado, y opciones que incluyen conservarla.

Laravel publica una nueva versión mayor cada año, y cada una recibe correcciones de errores durante dieciocho meses y correcciones de seguridad durante dos años. Es un margen generoso, pero una aplicación que se deja sola tres años queda fuera de soporte y varias versiones por detrás, y los saltos se acumulan. Actualizamos una versión mayor cada vez (primero PHP cuando es lo que bloquea el framework, después Laravel, después los paquetes que lo mantenían anclado) con tests alrededor de las partes que importan antes de mover nada. La aplicación sigue en producción durante todo el proceso.

También le decimos cuándo Laravel es la respuesta equivocada. Casi nunca es el sitio adecuado para construir una tienda: carritos, impuestos, envíos y flujos de pago son enormes de construir y nunca están terminados, y una plataforma de comercio supera a un desarrollo a medida tanto en coste como en completitud. Laravel es la herramienta adecuada para los sistemas alrededor de la tienda (la capa de integración, el portal de clientes, la herramienta interna) y buena parte de nuestro trabajo en Laravel está exactamente ahí, junto a una tienda Magento o Shopware de la que también nos ocupamos.

Si el framework todavía no está decidido, nuestras páginas de desarrollo web y de software a medida describen el trabajo según para qué sirve. Esta página es para cuando ya lo está: porque la aplicación ya existe, o porque su equipo ya conoce Laravel.

Emyrix LLC está registrada en Massachusetts y trabaja de forma remota con clientes de todo el país, en horario del Este, el Centro y el Pacífico, con contratos estadounidenses y facturación en dólares.

Servicios

Qué incluye

Aplicaciones Laravel nuevas

Portales de clientes, herramientas internas, paneles de administración y las aplicaciones sobre las que funciona un negocio, construidas a partir de un alcance por escrito. Cuentas, roles, colas, un registro de auditoría y notificación de errores están en la primera versión, no se añaden en la segunda.

Hacerse cargo de una aplicación Laravel existente

El desarrollador que la construyó ya no está y nadie sabe con seguridad en qué estado se encuentra. Leemos el código, atendemos lo urgente y le damos un plan al que pueda poner un presupuesto. Reconstruir no es una condición para que nos impliquemos.

Actualizaciones de versión de Laravel

Desde la versión en la que esté hasta una con soporte, en el orden correcto: la versión de PHP, después el framework, después los paquetes que lo mantenían anclado. Con el alcance definido de antemano, para que sepa cuántos saltos hay antes de dar el primero.

Pasar una aplicación PHP antigua a Laravel

Llevar una aplicación PHP heredada a Laravel por partes: las funciones nuevas en Laravel junto al código antiguo, las rutas se mueven según se tocan, una sola base de datos compartida hasta que el lado antiguo queda vacío.

Trabajo de rendimiento

Páginas lentas, consultas lentas, problemas N+1, índices que faltan, una cache que no cachea y colas que se atascan. Medimos antes de cambiar nada.

Revisión y refuerzo de seguridad

Autenticación y doble factor, huecos en la autorización, cómo se trata lo que envían los usuarios de camino al panel de administración, cabeceras de seguridad y una Content Security Policy, auditoría de dependencias, copias de seguridad cifradas. El mismo trabajo que hemos hecho en nuestro propio sitio y hemos contado en el blog.

APIs e integraciones

APIs REST y GraphQL, y la capa de integración entre un ERP, un CRM, un sistema de almacén o una tienda. Construida con reintentos, logs y alertas, para que un feed que deja de funcionar lo diga.

Mantenimiento continuo

Un contrato de servicio continuo que cubre actualizaciones de seguridad, de dependencias y del framework, monitorización y una cola de mejoras, para que la aplicación siga el ritmo del framework en vez de quedarse tres versiones atrás.

Por qué Emyrix

Qué obtiene al trabajar con nosotros

Quien lee el código es quien trabaja en él

La persona que lee su código y describe su estado es la misma que después hace el trabajo, así que el plan y el código salen de la misma comprensión de la aplicación.

Actualizaciones que se pueden pausar

Cada versión mayor es un paso propio con su propio deploy. Una actualización puede detenerse durante un mes de mucho trabajo sin dejar la aplicación a medio mover.

Una empresa de EE. UU. en horario de EE. UU.

Emyrix LLC es una empresa de Massachusetts. Contratos, facturación y horario de trabajo son todos nacionales, con solapamiento entre las zonas horarias de Estados Unidos.

Preguntas frecuentes

Preguntas frecuentes

¿Pueden hacerse cargo de una aplicación Laravel construida por otro desarrollador?

Sí, y buena parte de nuestro trabajo en Laravel empieza así. Leemos el código, comprobamos las versiones del framework y de PHP y si siguen recibiendo correcciones, miramos la estructura y los tests, y atendemos primero lo urgente. Después recibe una descripción honesta de dónde está y un plan que pueda presupuestar. A veces ese plan es reconstruir. Normalmente no lo es.

¿Cómo actualizan una aplicación Laravel antigua?

Una versión mayor cada vez. PHP va primero cuando es lo que bloquea el framework, después Laravel, después los paquetes que lo mantenían anclado, con tests alrededor de las partes que importan antes de mover nada. Sigue en producción durante todo el proceso, y el trabajo puede pausarse entre versiones. Saltar directamente desde dos versiones atrás a la actual es posible, pero los cambios incompatibles de cada versión intermedia siguen aplicando, así que es el mismo trabajo con menos mapa.

¿Qué versiones de Laravel siguen teniendo soporte?

Cada versión mayor recibe 18 meses de correcciones de errores y dos años de correcciones de seguridad desde su fecha de publicación, y cada año sale una nueva. En la práctica, la versión actual y la anterior son las únicas que reciben correcciones en un momento dado, y todo lo anterior no recibe nada. Ejecute php artisan --version, o lea la línea laravel/framework en composer.lock, para saber dónde está.

¿Es Laravel la opción adecuada para nuestro proyecto?

Para una aplicación a medida (un portal, una herramienta interna, una capa de integración, una API), normalmente sí. Trae las piezas que toda aplicación necesita, y muchos desarrolladores lo conocen, así que encontrar a alguien que trabaje en ella más adelante es una contratación normal. Para una tienda online, casi seguro que no: una plataforma de comercio lo hará mejor y a menor coste, y se lo diríamos. Para un sitio corporativo sencillo, un CMS suele encajar mejor.

¿Por qué va lenta nuestra aplicación Laravel?

Normalmente por una de una lista corta: consultas ejecutándose en un bucle (el problema N+1), un índice de base de datos que falta, una cache configurada pero que en realidad no cachea, trabajo hecho durante la petición que debería ir en una cola, o un servidor con menos margen del que necesita el tráfico. Medimos antes de cambiar nada, porque la parte lenta a menudo no es la que alguien sospecha.

¿Pueden revisar la seguridad de una aplicación Laravel?

Sí. Comprobamos la autenticación y el manejo de sesiones, si el doble factor está disponible para las cuentas que lo necesitan, la autorización en cada ruta que debería tenerla, cómo se trata lo que envían los usuarios de camino al panel de administración, las cabeceras de seguridad, las dependencias con vulnerabilidades conocidas y qué pasa con las copias de seguridad. Recibe una lista por escrito, ordenada por lo que hay que arreglar primero.

Tenemos una aplicación PHP antigua. ¿Se puede pasar a Laravel sin reescribirla?

A menudo sí, y por etapas. Las funciones nuevas se construyen en Laravel junto al código antiguo, las rutas se mueven según se tocan, y los dos comparten una sola base de datos hasta que el lado antiguo queda vacío. El negocio sigue funcionando sobre la aplicación todo el tiempo. Si merece la pena depende de qué hace la aplicación antigua y de cómo está construida, que es lo primero que miramos.

¿Trabajan con Laravel junto a una tienda Magento?

Sí, y es una combinación habitual. La tienda se queda en Magento, y Laravel se encarga de lo que la plataforma nunca estuvo pensada para hacer: un portal de clientes con sus propias reglas, la capa de integración entre la tienda y un ERP o un sistema de almacén, una herramienta de informes, un panel interno. Trabajamos en los dos lados, así que los dos se diseñan juntos.

¿Usan React con Laravel?

Cuando la interfaz lo pide. Muchas aplicaciones están mejor servidas con Blade y Livewire, que mantienen todo en un solo código y un solo lenguaje. Cuando una pantalla tiene que comportarse como una aplicación (filtrado en vivo, mucho estado, un editor) la construimos en React contra una API de Laravel. Este sitio es Laravel con páginas React prerrenderizadas a HTML estático.

¿Cómo empieza un proyecto?

Con una conversación sobre qué tiene que hacer la aplicación y dónde se rompe ahora mismo, y después un alcance por escrito que cubre qué entra, qué no, y qué construiríamos o arreglaríamos primero. Definimos el alcance antes de pedirle que se comprometa, y si creemos que el trabajo no nos necesita, se lo diremos.

¿Ofrecen mantenimiento continuo de Laravel?

Sí. Algunos clientes nos mantienen con un contrato de servicio continuo para actualizaciones de seguridad, de dependencias y del framework, monitorización y una cola de mejoras. Otros se llevan la aplicación a su equipo interno, que es para lo que están la documentación y los tests.

¿Trabajan con clientes de todo Estados Unidos?

Sí. Emyrix tiene su sede en Massachusetts y trabaja de forma remota con empresas de todo Estados Unidos. Trabajamos en horario de EE. UU., usamos contratos estadounidenses y facturamos en dólares.

Relacionado

Siga explorando

Trabaje con Emyrix

Cuéntenos sobre la aplicación

Una aplicación nueva, un código que heredó o una actualización que lleva meses posponiéndose: descríbanos qué hace y en qué estado está. Le responderemos con lo que haríamos primero.