Mi cliente me ha pedido que cree una aplicación personalizada para administrar su escuela. Esa aplicación debe sincronizar los datos con los servidores en línea siempre que Internet esté disponible. Sé algo de programación, un poco de PHP. ¿Qué lenguaje y herramientas pueden ayudarme a realizar la tarea rápidamente?

Esto parece una tarea ambiciosa para alguien con solo “algo” de programación y un “bit” de php. Si le pagan por esta tarea, le recomendaría la divulgación completa de su experiencia a su cliente.

En cuanto a los consejos, mi primer punto es obtener un documento de requisitos por escrito con capturas de pantalla (o maquetas que cree con ellos) de lo que quiere el cliente. Si, un documento escrito. Como también mencionó la interfaz con los servidores en línea, deberá crear un documento de interfaz escrito que explique exactamente cómo interactuará su software con los sistemas externos.

En cuanto a los consejos de arquitectura: dado que Facebook se ejecuta en PHP, es una buena base para el nivel web. También necesitará un nivel de lógica de negocios y un nivel de datos. Hay muchos recursos de Internet en este tipo de arquitectura de tres niveles. ¡Los mejores deseos!

Esa parte “siempre que Internet esté disponible” complica las cosas. Esto significa que necesita algo similar a Outlook, es decir, una base de datos local que pueda sincronizarse con una base de datos remota, pero que también funcione por separado.

Si está en Windows, una opción podría ser Visual Studio, C #, WPF, Entity Framework y una instancia local de SQL Server Express configurada en replicación con un SQL Server central. Creo que esta será la opción más fácil (y también la más cara), y todavía no será “un paseo por el parque”. Probablemente podría reemplazar SQL Server con MySQL o algún otro RDBMS FLOSS decente que admita la replicación, y usar una versión gratuita de Visual Studio, para reducir un poco el costo.

Si no está en Windows, o no quiere tener nada que ver con la pila de Microsoft, puede crear programas GUI en Python (digamos con PyGTK), o puede hacer que el programa local se ejecute en un servidor web local y crearlo como una aplicación web en su lugar (se aplican los mismos problemas de replicación que los anteriores).

En cualquier caso, esto no será fácil y definitivamente no se completará rápidamente, especialmente si primero debe aprender todas las tecnologías relevantes.

El dicho roma no se construyó en un día suena por aquí.

Es imposible lograr rápidamente esa tarea en mano. Honestamente, debe dar un paso atrás y evaluar si está preparado para la tarea. será un camino masivamente lleno de baches si avanzas con él. Dijiste que conoces algo de programación y un poco de PHP. En mi opinión, estás condenado al fracaso.

Podría estar totalmente equivocado, pero como se mencionó, debe revelar completamente su experiencia al cliente en cuestión.

Bueno, no hay atajos especialmente como las grandes aplicaciones (sistema de gestión escolar)

Sí, puede adoptar / adaptar cualquier código abierto o tengo una solución si se siente cómodo con eso, contácteme.

Gracias

More Interesting

¿Cómo se puede usar la programación funcional en aplicaciones web, cuando las aplicaciones web tienen estado?

¿Qué idiomas se utilizarán para desarrollar aplicaciones web?

Al desarrollar una aplicación, ¿es una mala forma o es ampliamente aceptada e incluso alentada a emular las características de la interfaz de usuario de otras aplicaciones exitosas?

¿Qué protocolo es responsable de controlar el tamaño de los segmentos y la velocidad a la que se intercambian los segmentos entre un cliente web y un servidor web?

¿Cómo debo escalar los proyectos web basados ​​en Django alojados en DigitalOcean?

¿Necesito aprender el desarrollo web front-end antes del back-end?

¿Cuál es la mejor herramienta de edición de imágenes en línea?

Estoy aprendiendo desarrollo front-end. ¿Cómo me posiciono en la capa de aplicación?

¿Para qué tipos de aplicaciones web es apropiado Ruby on rails?

Cómo usar React / Redux con un backend de Golang

¿Es la decisión de Apple permitir a los bloqueadores de anuncios su forma de obligar a los editores a salir de la web y a las aplicaciones?

Cómo desarrollar una aplicación web usando React.js que tenga un sistema de inicio de sesión

¿Por qué los desarrolladores de aplicaciones web tienen que incluir tokens de falsificación de solicitudes entre sitios en sus formularios web?

¿Cuál es la diferencia entre servicio web y aplicación web?

¿Cuál es una buena aplicación para iPhone para rastrear el tiempo dedicado a varias aplicaciones en dispositivos móviles?