Después de crear una aplicación web, ¿qué necesita para seguir actualizando?

Nuevas características. Prácticamente ningún sitio web permanece igual para siempre. Todos los sitios web siguen rediseñando ciertas cosas, creando nuevas funciones, etc. Por ejemplo, Facebook no tenía todas las funciones que vio cuando comenzó. No tenía, digamos, Graph Search. Siempre se escribe un nuevo código.

Asustando. Cuando Facebook comenzó, no sabía que tendría que atender a más de mil millones de usuarios. Una aplicación escrita para servir a mil personas no funcionará para un millón de usuarios, y una escrita para un millón de usuarios no funcionará para mil millones. Hay problemas de sincronización, eficiencia, tiempos de carga, etc. que deben tenerse en cuenta a medida que crece la base de usuarios.

Manteniendo Es casi imposible que uno pueda escribir una aplicación perfectamente desde el principio. Es decir, sin errores, súper eficiente. Siempre habrá errores, cosas que se pasaron por alto. Tome cualquiera de las dos razones anteriores. Cada vez que la aplicación cambia, seguramente se introducirán varios errores. La aplicación debe revisarse constantemente a medida que surgen nuevos problemas.

Por supuesto, el alcance de todo esto depende de la naturaleza de la aplicación. Nuevamente, Facebook, con su enorme base de usuarios y modelo de negocio, tiene una necesidad muy apremiante de innovación constante, actualización y reparación. Tal vez hay otras aplicaciones que una vez escritas muy raramente necesitarán ser reparadas. Estas pueden ser aplicaciones que hacen una cosa muy específica y que no tienen mucho tráfico.

No estoy involucrado en ningún proyecto de programación importante, y nunca lo he estado. Pero, puedo pensar en algunas razones para actualizar una aplicación web:

  1. Desea agregar alguna función a la aplicación.
  2. Desea hacer que el sitio sea más eficiente y cargar más rápido, si es posible.
  3. La versión actual tiene errores.
  4. Actualizaciones del navegador: su aplicación ya no representa lo mismo o el navegador le permite implementar nuevas funciones.
  5. Su aplicación no representa lo mismo en todos los navegadores, en todas las plataformas. Por lo tanto, desea que el código sea más independiente del dispositivo (o más específico del dispositivo).
  6. Las actualizaciones de la aplicación provocaron errores adicionales.
  7. Agujeros de seguridad explotables.
  8. Editar: cambios en la configuración del servidor.
  9. Editar: cambios en la demografía del usuario.

Debe escribir para mantener las cosas escalables y receptivas para el futuro.

Si escribe una aplicación como Instagram, recibiría usuarios todos los días, su diseño se verá abrumado en algún momento. Debe asegurarse de que su aplicación esté escrita para aceptar miles de nuevos usuarios que ingresan.

Además, las aplicaciones están escritas en una plataforma que también está en constante evolución. Las aplicaciones actualizadas pueden aprovechar las nuevas características que ofrece la plataforma. iOS 7 permitió que la aplicación se ejecutara en segundo plano, esta fue una gran ventaja para los desarrolladores de aplicaciones. Casi todas las aplicaciones principales se actualizaron para lo mismo.

La infraestructura del servidor necesita ser monitoreada y escalada continuamente. Comienzas pequeño y finalmente tienes que escalar. A veces, el escalado ocurre no solo a nivel de hardware sino también a nivel de software. Lo más probable es que haya problemas dentro de su código que solo se muestran después de alcanzar un cierto nivel de uso, como colisiones de carrera y bloqueo. No se trata de si va a suceder, se trata de saber que sucederá.

Cuando se trata de aplicaciones móviles como aplicaciones iOS o Android, las versiones más nuevas del sistema operativo central requieren que las aplicaciones se actualicen y, a veces, se reescriban fragmentos enteros de código. El lanzamiento de iOS 7 ha provocado que muchas aplicaciones se actualicen debido a cambios en el sistema operativo y la forma en que las aplicaciones se ejecutan dentro de él.

Nada es completo o perfecto. Es una batalla constante mantenerse a la vanguardia y mantener las cosas funcionando. Pero ese es el nombre del juego.