¿Es mejor implementar rápidamente con Parse o hacer una compilación personalizada de Django / Python? Desde una perspectiva de inversión y salida, me preocupa que si construimos con Parse, la compañía será menos atractiva.

Estoy construyendo mi sitio Búsqueda detallada de hoteles para viajeros ocupados con Parse y encuentro increíble y enorme ahorro de tiempo y costos. Tiene algunas de las mejores, más limpias y sencillas documentaciones, y es realmente generoso en lo que ofrece de forma gratuita. Mientras que, por ejemplo, AWS solo es gratuito por tiempo limitado y, en mi opinión, tiene una estructura de costos bastante oscura.

Como desarrollador ágil, prefiero centrarme en los resultados, no en el mantenimiento, la seguridad, los permisos, los servidores, etc.

También estoy respetuosamente en desacuerdo con que Parse “te encierra” en su marco. Se trata de tu arquitectura. He diseñado el mío de la forma en que se comunica con Parse a través de una interfaz muy delgada. Para cambiar, todo lo que necesita hacer es reescribir su interfaz. De hecho, hice exactamente eso cuando me mudé a Parse desde Stackmob (que fue adquirido por Paypal y tristemente cerrado). Todo lo que necesitaba hacer era editar un par de métodos en un archivo pequeño.

Entonces, mi consejo es: disfrute de lo que Parse le brinda, ahorre tiempo y costos, pero diseñe su interfaz de manera inteligente, con la idea de que quizás desee cambiar a otro lugar más adelante, en caso de que sea otro BaaS o su propio Backend alojado.
Luego dígale a cualquier inversionista potencial que puede hacer el cambio en cualquier momento si es necesario.

Desde el punto de vista del desarrollo, Parse parece extremadamente útil con módulos fácilmente disponibles para casi todo lo necesario para construir una aplicación web.

Parse Push es especialmente una característica muy importante que se requiere en la mayoría de las aplicaciones web modernas para notificaciones push, mensajes, etc. que si se construye internamente requiere una arquitectura muy cuidadosa y no es muy fácil de construir. Debería echar un vistazo a esto para comprender mejor los desafíos tecnológicos involucrados con un sistema así, eso de Wibbly Wobbly Real-Timey Wimey

Además, la integración social es una mierda en el pastel.

Pero, aquí está la trampa. Su aplicación dependerá en gran medida de la infraestructura proporcionada por Parse, por lo que si alguna vez planea cambiar a otro servicio como AWS de Amazon o un centro de datos interno, la transición será muy irregular y requerirá que reescribir toda su aplicación y modificar su arquitectura considerablemente, lo que no es factible en la mayoría de los casos (¿Facebook?). Además, dado que los módulos Parse proporcionan solo un conjunto fijo de características, será un poco difícil para usted crear una aplicación que requiera soluciones extremadamente personalizadas además de Parse .

Entonces, no hay un claro ganador aquí. Debe evaluar todos los casos ( escalado , cambio a otro servicio, arquitectura de la aplicación, horas de codificación disponibles, etc.) y luego hacer una llamada correcta en función de su problema específico en cuestión.

Hay muchos factores que juegan en esto y nunca habrá una respuesta del 100%, pero aquí hay algunas consideraciones que he encontrado usando el uso de parse en una startup:

* Si está desarrollando principalmente para dispositivos móviles , o incluso mejor para dispositivos móviles multiplataforma, le recomiendo Parse. La integración es muy sencilla y cada minuto que pasa en un backend personalizado es un minuto que no puede pasar haciendo que su aplicación sea maravillosa. Parse también facilita la iteración de sus modelos rápidamente.

* Si está planeando en la web / móvil, entonces hay pros y contras. El pro obvio es la sincronización de datos. Para la convención principal, vea la siguiente sección.

* Si está desarrollando principalmente un sitio web, no estoy seguro de si Parse es la mejor opción. Muchos frameworks como Django y Rails tienen ecosistemas de herramientas y complementos increíblemente ricos que le brindan muchas funciones “gratuitas” (por ejemplo, consola de administración). La mayoría de ellos asume el modelo estándar para el sistema (ActiveRecord, etc.), por lo que al usar Parse agrega mucha dificultad al uso de herramientas de terceros.

Esto se basa en mi propia experiencia y opiniones y, por supuesto, su millaje puede variar.

Escúchame, estas respuestas están perdiendo un punto, puedes usar las notificaciones de Parse y construir todo en otro lugar si quieres, Parse es genial para construir tu prototipo con él, no debería tomarte demasiado tiempo reescribir el backend si ganas el potencial para una inversión o salida. De lo contrario, no creo que llegues a ese punto de todos modos.

En caso de que tenga trabajos que consuman mucho tiempo, como el motor de recomendaciones, puede descargarlo a su segundo backend, o puede descargar la solicitud de alimentación principal no personalizada a otro servidor que tenga almacenamiento en caché.

Lo malo de Parse es que su idea es costosa pero el 95% de las veces no pasa la validación del mercado, y para el 5% no debería ser tan difícil de reescribir.

¿Qué podría ser lo más complejo que se hace en un backend de aplicación? Significado complejo difícil de reescribir, no el tiempo que lleva ejecutar, porque eso es irrelevante.

Si puede demostrar su compromiso y demostrar su modelo de negocio a pequeña escala (es decir, puede adquirir clientes de manera rentable y luego ganar dinero o tal vez el compromiso sea algo comprobado), entonces si tiene un gran equipo y un mercado atractivo, asegurará la inversión .

De hecho, asegurar la inversión para hacer que la arquitectura sea más escalable es una de las mejores respuestas posibles a ‘qué harás con el dinero’.

Nota al margen, me gusta bastante Parse y, como dice otra respuesta, puede hacer que su integración sea “bastante delgada”. Ofrece demasiado fuera de la caja para que pueda construir todo eso usted mismo sin un modelo de negocio validado y 6-12 meses de aprendizaje y fallas validados.

100% deberías construirlo tú mismo. Heredé un proyecto que fue construido en Parse. Encontrará las limitaciones y la falta de control cada vez más frustrante. Ahora solo estamos tratando de encontrar una manera de salir de su sistema. Pero llevará meses reescribir todo desde cero. Por favor, por favor, tómese unas semanas para construir un sistema de notificación push usted mismo. Vale la pena.