Sé que esta pregunta es demasiado amplia para ser respondida con un simple "utilizar este marco", pero realmente agradecería su consejo sobre eso.¿Cómo elegir el marco RESTful perfecto?
Estoy buscando hacer un proyecto (bastante complejo) que ejecutará una API. Estoy abierto a cualquier lenguaje de programación (PHP, Python, Java principalmente) y encontré muchos frameworks que están más orientados a hacer un servidor web RESTful.
La única restricción importante que tengo es que tendré un paquete reutilizable, simple y sin código de espagueti independiente para mejorar mi API más tarde fácilmente o incluso cambiar a otro framework sin problemas.
Para Python & Java, pensé en hacer un paquete dedicado. Cada acción llamaría al método dedicado en el paquete, el paquete devolvería object/dict y la acción lo transformaría al formato adecuado.
Después de muchas investigaciones, que dudan entre dos marco que podría ser bueno para mi trabajo pero Necesito su consejo porque yo no cometer ningún error aquí.
- Play! Framework (Java)
- Pros:
- router están orientados reparador (define el método (GET, POST, etc), la solicitud y la class.method a utilizar)
- Usted no tiene que hacer una clase por acción
- Contras:
- El modelo ya está incluido. Si más tarde cambio el marco, tal vez me quede atascado (pero aparentemente no desde Play! Parece usar JPA)
- Tal vez el hecho de que si quiero enviar parámetros a la acción que se definiría en la firma del método , tengo que adoptar las ClassName.properties en lugar de un json como {Nombre de clase: {propiedades: 'valor'}}
- Pros:
- Tornado Web (Python)
- Pros:
- Parece ser muy potente: ¡utilizado por FriendFeed (al menos)!
- de autenticación a través de los principales OpenID, OAuth y Facebook ya ejecutados
- Muy ligero (podría ser un problema)
- Contras:
-
No
- tan popular: a entender mejor el trabajo de ir en el código que el documento
- Urls parece ser muy básico (por lo que yo veo, tienes que definir todas las URL en un archivo, con toda la clase incluida)
- una clase por acción (que podría ser pesado)
- decoradores para la básica (prueba si el usuario es de autenticación, etc.) debe hacerse
- Pros:
Para su uso en la producción, lo haría ser fácilmente posible con apache & mod_proxy o nginx.
Por lo tanto, mis preguntas son bastante simples: ¿qué elegirías (entre esos dos u otros, no estoy cerrado a las sugerencias) y por qué?
¡Muchas gracias por su consejo!
Whoa! ¡Esa es una respuesta muy completa! ¡Realmente aprecio el tiempo que tardó en responderme! Echaré un vistazo a Restlet :) ¡Muchas gracias! –
@ cx42net: ¡placer! ¡Por favor dejanos saber lo que piensas! (Por cierto, si te gusta mi respuesta, debes votarla.) –
Me gustaría votar (lo intenté tan pronto como lo leí) pero mi perfil bajo no me permite hacerlo :( –