Sé que es un poco subjetivo pero, si te pusieras en mis zapatos , ¿qué invertirías en aprender?Dilema: ¿Debo aprender Seaside o un framework de Python?
Quiero escribir una aplicación web que trate de forma segura cantidades relativamente modestas de datos privados de personas, unos miles de registros de unos pocos Kb cada uno pero cosas que deben mantenerse seguras, direcciones, números de teléfono, etc. he hecho varios proyectos web en PHP/MYSQL y he decidido, aunque es práctico, realmente no me gusta PHP y no quiero hacer otro gran proyecto en él ...
Como tal, supongo que es mejor que aprenda algo nuevo, por lo que estoy considerando 2 opciones (aunque me complacerá entretener a los demás si tiene alguna sugerencia). Sin embargo, estoy teniendo serios problemas para decidir. Ambos se ven bastante involucrados, así que en lugar de simplemente saltar y perder potencialmente días para ponerse al tanto de ellos lo suficiente como para tomar una decisión informada, pensé en venir aquí y contar alguna opinión.
Así que las dos opciones que estoy considerando son ...
Uno de los marcos Web PYTHON - TurboGears parece bien considerados? Ventaja: De todos los idiomas que he intentado Python es, de lejos, mi favorito. Hay montones de frameworks para elegir y he hecho bastantes codificaciones python no web en los últimos años. Desventaja: ¡hay mucho para elegir, así que es difícil elegir! ¿Necesita ejecutar un proceso de servidor único? o mod_python? que no me gusta el sonido de. Lo que sí me gusta es la noción de separación de procesos y compartimentación, es decir, si la cuenta de un usuario se ve comprometida, le da a un atacante ningún poder contra el resto del sistema. No tengo claro hasta qué punto una solución de Python manejaría eso.
Escribiéndolo como una aplicación SEASIDE ¿Qué creo que se ejecuta en un servidor de aplicaciones Squeak? Adv: Por lo que he escuchado, permitiría una buena compartimentación de usuarios ya que cada uno tendría su propia pequeña máquina virtual privada, independiente de todos los sistemas de otros usuarios, lo que puede parecer maravilloso desde el punto de vista de seguridad, escalado y redundancia. Dis: No he hecho ningún Smalltalk desde la Uni hace 15 años y nunca profundicé demasiado en eso. No veo mucha ayuda de nivel de entrada para el mar o que muchos proyectos lo usan. Sospecho que configurar un servidor para ejecutarlo es difícil por la misma razón, es decir, no porque sea intrínsecamente difícil, sino porque habrá menos ayuda en línea y por la presunción de que ya eres bastante sincero con Sqeak/Smalltalk.
Entonces, ¿qué piensa la gente? ¿Sería capaz de obtener de manera eficiente el tipo de separación y compartimentación fuerte que estoy buscando con un framework de Python? ¿Seaside es tan bueno como pienso en términos de aislar a los usuarios unos de otros? ¿Podría estar mejor, en cuanto a seguridad, apegándome a los idiomas con los que estoy más familiarizado, para no cometer ningún error n00b o valdrá la pena que Seaside escalara la curva de aprendizaje y sea más seguro, comprensible y sostenible a largo plazo? ? ¡Al final del día no es una decisión de vida o muerte y siempre puedo salir bajo fianza si empiezo con una y luego la odio así que por favor nadie se enzarzará en una guerra de lenguaje sagrado y comenzará a pegarle fuego a alguien! ;-)
Saludos para todas las respuestas, esto se pone
Roger :)
No creo que Django aborde directamente sus preocupaciones principales de seguridad, que parece estar accidentalmente compartiendo datos entre los usuarios. Si bien es bueno evitar los errores sql, si tiene uno, puede mostrar datos al usuario equivocado. No puedo imaginarme cómo hacerlo accidentalmente en el mar. también considere zope –
Descargo de responsabilidad: No sé nada de Seaside. Sin embargo, se pueden cometer errores en cualquier entorno, así que no veo cómo la compartimentación evitaría errores, especialmente los errores de SQL (a menos que tenga todos los usuarios de la aplicación como usuarios de DB, lo que sería un dolor de cabeza de mantenimiento en mi humilde opinión) –
Tiene razón si usa una base de datos SQL. Zope y seaside no usan bases de datos SQL (a menos que las agregue explícitamente). –