processing - studio - openFrameworks vs Procesamiento
openframeworks projects (1)
Tiene razón, uno es C ++ y el otro es Java, y esas diferencias se aplican a estos marcos, por lo que depende de su alcance de preferencias / proyectos decidir cuál es el mejor para usted.
Con procesamiento :
- Obtiene un IDE mínimo, pero también puede usar eclipse u otro IDE de Java fácilmente .
- Obtienes administración de memoria (recolección de basura)
- Puede publicar applets en línea (a través de Java Applet o puertos javascript ''slim down'' usando Canvas 2D con processingjs o p5js ) o aplicaciones de escritorio para Linux / OSX / Windows (a través de Java Runtime). Tenga en cuenta que las versiones más nuevas que Processing 1.5.1 ya no exportan applets. Eso todavía se puede hacer a través de línea de comando o usando eclipse.
- Puede publicar en Android y (con herramientas de terceros) en iPhone usando iProcessing o P5Nitro más rápido y más recientemente en Raspberry PI
- Usted cuenta con el apoyo de los foros, bastantes books y juegos en línea como OpenProcessing , SketchPatch , hascanvas o SketchPad .
Con OpenFrameworks :
- Usted elige su IDE (XCode en OSX, Code :: Blocks, VC ++)
- Usted maneja su propia memoria (malloc, punteros y toda esa alegría)
- Puede publicar su proyecto como una aplicación nativa (no se necesita tiempo de ejecución)
-
Actualmente no puede publicar fácilmente en línea, pero esto podría cambiar en el futuro (consulte el progreso de emscripten de Arturo Castro )Puede publicar en línea usando emscripten . - Puede publicar en el iPhone , desde OF 007 a Android y OF 0.8.0 en dispositivos armv6 y armv7, como Raspberry PI o Pandaboard
- Tienes el apoyo de los foros muy activos y útiles y puedes leer sobre esto en un book o two
Estas son algunas de las cosas que me vinieron a la mente en este momento, podría haber más.
Personalmente, me pareció más fácil escribir prototipos desechables realmente básicos en Processing. Para situaciones en las que la velocidad no es un factor de decisión importante, Processing funciona bien, pero en otros casos, transfiero los prototipos de procesamiento a openframeworks (lo cual es fácil de hacer la mayor parte del tiempo).
Un ejemplo sería la aplicación que implica audio, ya sea análisis o síntesis. Dependiendo de la complejidad, el Java Garbage Collector haría un barrido cuando menos lo esperas y causaría molestias cuando necesites capacidad de respuesta.
En resumen, ambos son geniales, pero openframeworks es más rápido . Sin embargo, pagas esa velocidad administrando la memoria .
En términos de implementación en línea, realmente depende del proyecto: si se trata de un proyecto simple, probablemente p5.js sea más fácil en términos de integración con otras bibliotecas js. La exportación de oF es útil para grandes códigos voluminosos complejos que tardarían demasiado tiempo en realizar manualmente el acceso a javascript, pero teniendo en cuenta que el proyecto emscripten será grande (por ejemplo, 17.5MB para opencvExample
) (y por lo tanto no opencvExample
celulares) y aún necesitarás para agregar sus propios enlaces JS -> C ++ si necesita llamar a la función oF de la página web.
Además, si está interesado en C ++, también le conviene echar un vistazo a libcinder o Polycode .
HTH
He estado leyendo mucho sobre openFrameworks y Processing, pero todavía no puedo hacer la distinción, excepto uno está en C ++ y el otro en Java. ¿Puede alguien decirme qué es exactamente para qué?