Salidos amigos,
Primero que todo esta es mi primera incursión en Smaltalk, por lo que seguro las consultas que tengo son básicas. Necesito hacerles algunas consultas con respecto a Smalltalk para realizar aplicaciones comerciales y opensource. Cómo no conozco Smalltalk, las consultas van en modo comparativo con python que conozco más, para así poder asociar en la mente las capacidades de Smalltalk. Me interesa utilizar un Smalltalk opensource como Squeak y Pharo, por ejemplo, a menos que me aconsejen uno mejor. Tendo entendido que Smalltalk es VM con "garbage collector", ok. Puedo compilar a ejecutables en Smalltalk, que sea multiplataforma (Windows, linux, unix, mac)? GUI, En python tengo pyttk (Tkinter) que es casi nativa del lenguaje, entre otros. En Smalltalk cual puedo utilizar que tenga la mayor cantidad de widgets para los programas, como labels, entradas de texto, entradas de fechas, calendario, combobox, notebook, menus, etc.? En nativa del lenguaje, que no son wrappers. No tiene necesariamente que tener un diseñador gráfico, de manera que con código se generen las interfaces, pero sería mejor y aún mejor si es nativa. Bases de datos: Me gusta la que tiene Zope (python) , se llama ZODB, es para objetos. Cuales en Smalltak puedo utilizar para aplicaciones medias y pequeñas, que puedan administrar 3 millones de registros en base y 12000 transacciones por día. Entiendo que para aplicaciones grandes está Gemstone (existe alguna open source con esas capacidades?). Puedo separar las bases de datos que trabajen individualmente y luego sincronizarlas por ejemplo. Cual es la mejor presentación Smalltak opensource para aplicaciones comerciales (desktop y web). Reportes (pdf, html) cómo se logran con Smalltalk. Capacidades web. Quiero lograr un nucleo de programa con interfaces cliente para desktop, web y móviles, es posible? Gracias de antemano por las respuestas, son muy importantes Oswall Arguedas -- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
2010/7/28 Oswall Verny Arguedas C. <[hidden email]> Salidos amigos, Hola. Bienvenido. No se porque las comillas. Pero si, todos las Smalltalk vienen con GC.
Tenes el concepto de Virtual Machine. Esto es, escribis to codigo una sola vez, se transforma a bytecodes, y luego cada VM sabe entenderlo. Por lo tanto, tu applicacion ejecutable va a ser ejecutar la VM, con una imagen de smalltalk. Obviamente, podes hacer instalabales de Windows, .exe, .sh, .app, etc. Te comento lo que yo se más, Pharo. Con Pharo podes hacer varias cosas. 1) Hacer tu propio script (bash) que ejecute la VM y le pasas por parametro la imagen de tu aplicacion. 2) Hacer un Windows Installer 3) One click app. Para 3) mirá http://gforge.inria.fr/frs/download.php/27303/Pharo-1.1-OneClick.zip Bajas, descomprimis, y doble click sobre el ejecutable. Tambien una vez que lo descomprimiste podes mirar el .sh y el .exe como para ver como hacer el propio. Para 2) podes ver: http://gforge.inria.fr/frs/download.php/27305/setup_pharo1.1-11411-release10.07.25.exe Y estos links que te pueden servir para hacerte tu propio installer: http://code.google.com/p/pharo/wiki/HowToDeployAnApplication y http://squeakvm.org/win32/custom.html
En Squeak/Pharo para mi esta es la peor cosa. No hay una interfaz nativa decente. Tenes todo implementado del lado de Smalltalk, con una cosa llamada Morphic. Que está programado bastante mal. Y es feo. Hay algunas cosas que se hicieron tipo SqueakGTK, Tweak, o algun otro. Pero no creo que ninguno ande en las imagenes de hoy en dia. Lo mas pulenta me parece que es mirar a Polymorph que está integrado en Pharo. Con esto podes evaluar un par de ejemplos: UITheme exampleBasicControls.
No es en número, pero base de objectos tenes Magma, que anda en Squeak/Pharo y tal vez otras como GOODS o Omnibase, pero no se el estado de las ultimas. Entiendo que para aplicaciones grandes está Gemstone (existe alguna open source con esas capacidades?). Puedo separar las bases de datos que trabajen individualmente y luego sincronizarlas por ejemplo. Si,e está Gemstone, y tiene una version que viene tipo maquina virtual de VMWare que se llama GLASS -> Gemstone, Linux, Apache, Seaside and Smalltalk. No hace falta que te diga que viene todo eso instalado y andando. Gemstone en si mismo es un Smalltalk, que soporta ACID. Pero necesitas un smalltalk para dibujar la UI y programar. GLASS viene con GemTools que te ayuda para eso. Aca en la lista hay muchos que te van a poder ayudar con ese tema. Acá tenes una lista de posibilidades, que aunque no sean solamente para seaside, te puedan servir: http://www.seaside.st/documentation/persistence
Desktop, para mi es medio choto. Aunque hay proyectos grosos hechos con desktop. Mirá el paquete de Moose (http://www.moosetechnology.org/) con Mondrian, Glamour, etc. Tambien tenes Pinesoft – MBagger como ejemplo en http://www.pinesoft.co.uk/what/solutions_clinic/ La verda no conozco muchos projectos mas hechos con cliente pesado con Smalltalks open-source. Reportes (pdf, html) cómo se logran con Smalltalk. Ni ida. Capacidades web. Quiero lograr un nucleo de programa con interfaces cliente para desktop, web y móviles, es posible? Pharo está andando en el Iphone por ejemplo. De hecho Esteban Lorenzano (presente en la lista) hizo un par de apps. Mirá esto: http://www.mobilewikiserver.com/Welcome.html Con respecto a web, claramente es lo más destacado el último tiempo. Seaside viene siendo lo más importante. Hay muchas apps hechas, y anda en casi todos los dialectos Smalltalk. Seaside + GLASS + desarrollo en Pharo es combinación open-source y gratis, muy buena. Gracias de antemano por las respuestas, son muy importantes Ojalá te sirva. Saludos mariano Oswall Arguedas -- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
In reply to this post by OswallVernyAC
Hola Oswall
El día 28 de julio de 2010 12:25, Oswall Verny Arguedas C. <[hidden email]> escribió: > Salidos amigos, > Primero que todo esta es mi primera incursión en Smaltalk, por lo que seguro > las consultas que tengo son básicas. > Necesito hacerles algunas consultas con respecto a Smalltalk para realizar > aplicaciones comerciales y opensource. > Cómo no conozco Smalltalk, las consultas van en modo comparativo con python > que conozco más, para así poder asociar en la mente las capacidades de > Smalltalk. > Acá hay una cuestión. El tipo de usuario de Python (Perl, C y un largo etc) solo cuenta con el archivo plano y la línea de comandos, inmortales glorificados si los hay. El arraigo que hay a la herramienta es tal que no se concibe otra forma de trabajo. Así dado el programador comúnmente trabaja con un editor más o menos adornado, compilando y depurando números de línea y columnas (a veces debe agradecer a que tiene volcados de memoria), aplaude los "one-liners", trucos para copiar y pegar, y cualquier librería que parezca aliviar el trabajo le genera tranquilidad, incluso sin haber hecho experiencia con ella, peor es nada. También calma a la gerencia, que no entiende nada pero ve que algo hay. En este sentido es difícil mapear dos herramientas tan distintas. El tutor de un programador Python probablemente sean libros y artículos en internet, o foros, junto con la herramienta luego, para repetir lo que leyó. El de un programador Smalltalk es primero, al menos históricamente, experimentar, o sea, fallar con su propio entorno (imagen/ambiente/como quieras llamarlo) y luego algún libro, foros, etc. Tal vez esto cambió los últimos años, no sé como aprenden "los nuevos smalltalkers". Entonces a mi entender parte del costo de elegir una nueva herramienta como Smalltalk no es tanto aprender nuevas cosas, sino desaprender viejos vicios, por ej. en entornos no interactivos de programación la generación del ejecutable es un dogma, ¿cómo vas a distribuir algo si no es mediante un ejecutable?, esto no pasa tanto en Smalltalk. > Me interesa utilizar un Smalltalk opensource como Squeak y Pharo, por > ejemplo, a menos que me aconsejen uno mejor. > > Tendo entendido que Smalltalk es VM con "garbage collector", ok. Sí, aunque no es necesario que el recolector de basura esté en la VM, actualmente todas tienen la maquinaria de GC dentro de la VM. > > Puedo compilar a ejecutables en Smalltalk, que sea multiplataforma (Windows, > linux, unix, mac)? > Depende del Smalltalk. > GUI, En python tengo pyttk (Tkinter) que es casi nativa del lenguaje, entre > otros. En Smalltalk cual puedo utilizar que tenga la mayor cantidad de > widgets para los programas, como labels, entradas de texto, entradas de > fechas, calendario, combobox, notebook, menus, etc.? En nativa del > lenguaje, que no son wrappers. No tiene necesariamente que tener un > diseñador gráfico, de manera que con código se generen las interfaces, pero > sería mejor y aún mejor si es nativa. > ¿Cual es el problema que encontraste al usar una toolkit que actúa como "wrapper"? ¿Ya prototipaste la interface? ¿Qué tipo de aplicación querés que necesitás tantos tipos de controles? Por experiencia te comento que hay una diferencia significante en tiempo y esfuerzo entre crear interfaces utilizando una herramienta de construcción y crear interfaces a mano, es decir, sin herramientas visuales. Siempre hablando de interfaces ricas, no ejemplos de "hola mundo" que abundan por todos lados. > Bases de datos: Me gusta la que tiene Zope (python) , se llama ZODB, es > para objetos. Cuales en Smalltak puedo utilizar para aplicaciones medias y > pequeñas, que puedan administrar 3 millones de registros en base y 12000 > transacciones por día. ¿En qué consiste "un registro" de tu aplicación? La cantidad de objetos es una variable importante pero no es la única, hay muchas más opciones a tener en cuenta al elegir tu herramienta de persistencia: tipo de notificación, versionamiento, si es nativa, replicación, heterogeneidad , concurrencia, integridad, tolerancia, recuperación, etc > Entiendo que para aplicaciones grandes está > Gemstone (existe alguna open source con esas capacidades?). Puedo separar > las bases de datos que trabajen individualmente y luego sincronizarlas por > ejemplo. > > Cual es la mejor presentación Smalltak opensource para aplicaciones > comerciales (desktop y web). > La mejor presentación es conversar con alguien con experiencia laboral prolongada en Smalltalk. ¿Se hacen reuniones de ClubSmalltalk o ya estamos todos peleados? ;-) > Reportes (pdf, html) cómo se logran con Smalltalk. > Creo que VAST tiene el mejor soporte para reportes en Smalltalk. Si mal no recuerdo hace un tiempo se charló de reportes en esta misma lista. > Capacidades web. Quiero lograr un nucleo de programa con interfaces > cliente para desktop, web y móviles, es posible? > > Gracias de antemano por las respuestas, son muy importantes > Oswall Arguedas > > -- Saludos Hernán -- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
-- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
Si, reunirnos podríamos :-). Aunque a la misa que todos asistimos es en Noviembre y se llama Smalltalks ... :-) To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
In reply to this post by Mariano Martinez Peck
El 28 de julio de 2010 15:16, Mariano Martinez Peck <[hidden email]> escribió:
Muy bien, me interesan Pharo y Squeak porque no son opensource y Seaside está en Pharo. Una pregunta, en una sola imagen puedo tener Magma, Seaside y Polymorphic como servidor. O debo tener Magma en una imagen separada.
Para trabajo en red (excepto web), cada cliente tiene su VM con una copia de la lógica.
Entonces Smalltalk es más orientado a web, debido a que la interface de escritorio no es prioridad o no está muy desarrollada. A mi me interesa una interface de escritorio, aunque no única, porque hay cosas que no se pueden trabajar solo web, como un punto de ventas por ejemplo, pantallas de facturación y similares, por el acceso a puertos y control de impresoras y otro hardware.
Se ven bien, es posible manipular multimedia, sonido, video, canvas. Puede Smalltalk trabajar con acceso a puertos LPT, USB, Serial, impresoras TMU (punto de ventas) Se puede tabular información mediante un grid (tablas de datos) en morphic o polymorphic?
Ya las revizé primariamente, Magma de ve muy bien.. Lo que no encuentro son las capacidades básicas, por ejemplo cual es el tamaño máximo que puede tener con un rendimiento estable que no decaiga. Por ejemplo hasta 1GB..2GB..nGB.
Esta parece ser la mejor para aplicaciones empresariales medianas y grandes. Según leo en su website, es gratis hasta 4GBytes y tiene todo incorporado (baterías incluidas). El GemTools sería similar a un GUI Designer.
Hay si me queda la duda, porque SI se necesita generar reportes en pdf, html (seaside), códigos de barras impresos, tickets. Es importante y googleando no lo encuentro por el momento.
Excelente para clientes inalámbricos.
Estoy con el libro online de Seaside, es posible utilizar javascript para producir RIA en el lado del cliente (Rich Internet App) en el mismo ambiente que tiene smalltalk?
Gracias mariano por sacar el tiempo para constestar oswall
-- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
In reply to this post by hernanmd
No hay problema, igual me sucedió cuando pase de lenguaje procedimental a objetos. Le dí vuelta al a cabeza y soportó... ¿Cual es el problema que encontraste al usar una toolkit que actúa como "wrapper"? ¿Ya prototipaste la interface? ¿Qué tipo de aplicación Principalmente que se alejan del mismo lenguaje porque están hechos de una manera general o para un lenguaje particular como sucede con wxwidgets, que son para c++, y cuando utilizo wxpython, se desengancha del mismo concepto de python. Los controles no se usan todos en una sola aplicación, pero en varias se ocupan en general todos los que se puedan. Mucho hacia el cliente es por la vista y a veces deciden por eso.. Por experiencia te comento que hay una diferencia significante en Te comento que con Tkinter ttk me ha ido bien creándolos por código. Para otras interfaces más complicadas wxwidgets (wxpython para el caso).
En general aunque no riguroso, una tabla=clase, registro de la tabla = instancia, columna de la tabla=atributo. La mejor presentación es conversar con alguien con experiencia laboral No estoy tan cerca.. Saludos Saludos Oswall
-- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
In reply to this post by OswallVernyAC
2010/7/31 Oswall Verny Arguedas C. <[hidden email]>
Podes tenerlo en una separada o en la misma. Están las 2 posibilidades.
ookok
Yo ta hablo de Pharo/Squeak. VisualWorks, VisualAge, etc, tienen mucho mas desarrollado la UI y es bastante comun hacer apps así.
Tal cual. Morphic, ToolBuilder, Polymorph, etc, se pueden usar. Y podes hacer cosas buenas. El tema es que a veces si tu usuario no tiene las ventanas nativas, no le gusta. Fijate que en Pharo/squeak podes cambiar el Theme, y hay uno que es bien windozo. Por lo que se parece bastante a ventanas nativas de windows.
Esto depende de cada Smalltalk. La verdad es que no sabría decirte. Lo mejor que podes hacer es juntar las preguntas pendientes y mandar un mail a la lista de squeak y pharo
Si. Hay. Mira apps tipo Moose y hay varias. Tambien podes preguntar en la lista.
ni idea
sipi. Tiene que ser linux 64 bits y algunas otras condiciones, pero si.
Hay cosas para pdf y html. No se para codigo de barras y tickets. http://www.seaside.st/documentation/pdfs
No se bien a que te referis. Pero Seaside esta integrado con JQuery, Scriptaculus, Comet, etc. Ademas, podes integrar cualquier libreria de javascript. igualmente desde el mismo Smalltalk, podes scribir en javascript y hacer q se ejecute en el cliente.
de nada. en que pais/ciudad andas ?
-- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
El 31 de julio de 2010 12:39, Mariano Martinez Peck <[hidden email]> escribió:
--
Bueno,
Bajé un Dolphin para windows, community edition para ver las diferencias.
Con el asunto de multimedia, observé "opencovalt".
Costa Rica, América Central pura vida! Gracias. To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
El día 31 de julio de 2010 22:16, Oswall Verny Arguedas C.
<[hidden email]> escribió: > > > El 31 de julio de 2010 12:39, Mariano Martinez Peck <[hidden email]> > escribió: >> >> 2010/7/31 Oswall Verny Arguedas C. <[hidden email]> >>> >>> Muy bien, me interesan Pharo y Squeak porque no son opensource y Seaside >>> está en Pharo. >>> Una pregunta, en una sola imagen puedo tener Magma, Seaside y Polymorphic >>> como servidor. >>> O debo tener Magma en una imagen separada. >> >> Podes tenerlo en una separada o en la misma. Están las 2 posibilidades. >> > Bueno, En este caso es conveniente tener una imagen Magma servidora y una o varios clientes Magma se conectan a esta imagen. Si tenés dudas de cómo lograr esto podés consultar en esta lista. Saludos Hernán -- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
In reply to this post by OswallVernyAC
El día 31 de julio de 2010 14:10, Oswall Verny Arguedas C.
<[hidden email]> escribió: > >> >> Entonces a mi entender parte del costo de elegir una nueva herramienta >> como Smalltalk no es tanto aprender nuevas cosas, sino desaprender >> viejos vicios, por ej. en entornos no interactivos de programación la >> generación del ejecutable es un dogma, ¿cómo vas a distribuir algo si >> no es mediante un ejecutable?, esto no pasa tanto en Smalltalk. >> > No hay problema, igual me sucedió cuando pase de lenguaje procedimental a > objetos. > Le dí vuelta al a cabeza y soportó... > Ojo, lo que es procedural es el paradigma (un concepto más relacionado con la epistemología que con la informática), no el lenguaje. Uno puede utilizar Smalltalk en forma procedural, Seaside es un ejemplo. > ¿Cual es el problema que encontraste al usar una toolkit que actúa >> >> como "wrapper"? ¿Ya prototipaste la interface? ¿Qué tipo de aplicación >> querés que necesitás tantos tipos de controles? >> > Principalmente que se alejan del mismo lenguaje porque están hechos de una > manera general o para un lenguaje particular como sucede con wxwidgets, que > son para c++, y cuando utilizo wxpython, se desengancha del mismo concepto > de python. No entiendo a qué te referís con alejarse del lenguaje, en el caso de Smalltalk. ¿ Tal vez lo que querés decir es que cambia el "windowing protocol" (Win32, GTK+, Morphic, X/Motif, etc) ? Si querés contanos un poco luego tu experiencia de haber desarrollado UI con Smalltalk, tanto VisualWorks, VSE/VisualAge como Dolphin tienen constructores profesionales de interfaces de usuario, y bien documentados (aunque no extensivamente como sucede con Python o Java). > Los controles no se usan todos en una sola aplicación, pero en varias se > ocupan en general todos los que se puedan. Mucho hacia el cliente es por la > vista y a veces deciden por eso.. > >> >> Por experiencia te comento que hay una diferencia significante en >> tiempo y esfuerzo entre crear interfaces utilizando una herramienta de >> construcción y crear interfaces a mano, es decir, sin herramientas >> visuales. Siempre hablando de interfaces ricas, no ejemplos de "hola >> mundo" que abundan por todos lados. > > Te comento que con Tkinter ttk me ha ido bien creándolos por código. > Para otras interfaces más complicadas wxwidgets (wxpython para el caso). > Está bien, como comentábamos antes, son herramientas distintas que promueven dos formas diferentes de trabajar las cosas. >> >> > Bases de datos: Me gusta la que tiene Zope (python) , se llama ZODB, >> > es >> > para objetos. Cuales en Smalltak puedo utilizar para aplicaciones >> > medias y >> > pequeñas, que puedan administrar 3 millones de registros en base y 12000 >> > transacciones por día. >> >> ¿En qué consiste "un registro" de tu aplicación? La cantidad de >> objetos es una variable importante pero no es la única, hay muchas más >> opciones a tener en cuenta al elegir tu herramienta de persistencia: >> tipo de notificación, versionamiento, si es nativa, replicación, >> heterogeneidad , concurrencia, integridad, tolerancia, recuperación, >> etc >> > En general aunque no riguroso, una tabla=clase, registro de la tabla = > instancia, columna de la tabla=atributo. > Bien, si tenés oportunidad no dejes de leer el artículo "Hitting the Relational Wall" http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.6502 que creo te puede ser de gran ayuda. Saludos, Hernán -- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
In reply to this post by OswallVernyAC
Tambien tenes community the VW (no se si de VAST). Obviamente no podes usarlo para apps comerciales.
Está bien. Yo lo que te recomiendo es hacer 2 pasos: 1) Agarrar cada una de tus preocupaciones (LPT, USB, Serial, etc...) y buscarlas acá: http://forum.world.st/ eso te va a buscar en todas las listas. Seguro hay cosas o que alguien ya preguntó. 2) Mandar un mail a las listas con tus dudas "pendientes"-
jajajaj si, estás lejos. Pero tienen lindas playas, y a Wanchope! jajaj
-- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
Hasta donde yo sé, los de Instantiations, lo que tienen, es una
versión Trial, pero, si haces algo opensource, entonces..y cito..... Instantiations' Donations to Open Source Projects Instantiations is giving back to the community by donating a perpetual license of its products to committers who are working on non- commercial open source projects. Lo que no sé, es, si esa licencia perpetua, es sólo usable para proyectos opensource. El 01/08/2010, a las 18:36, Mariano Martinez Peck escribió: > > Entonces Smalltalk es más orientado a web, debido a que la interface > de escritorio no es prioridad o no está muy desarrollada. > > Yo ta hablo de Pharo/Squeak. VisualWorks, VisualAge, etc, tienen > mucho mas desarrollado la UI y es bastante comun hacer apps así. > > Bajé un Dolphin para windows, community edition para ver las > diferencias. > > > Tambien tenes community the VW (no se si de VAST). Obviamente no > podes usarlo para apps comerciales. Giuseppe Luigi Punzi Ruiz Blog: http://www.lordzealon.com Twitter & Skype & GoogleTalk accounts: glpunzi -- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
tenes razón...ahora que me acuerdo, en el ESUG del año pasado, mientras comíamos y tomábamos algo sponsoreado por VAST, dieron esa noticia.
2010/8/1 Giuseppe Luigi Punzi Ruiz <[hidden email]> Hasta donde yo sé, los de Instantiations, lo que tienen, es una versión Trial, pero, si haces algo opensource, entonces..y cito..... -- To post to this group, send email to [hidden email] To unsubscribe from this group, send email to [hidden email] http://www.clubSmalltalk.org |
Free forum by Nabble | Edit this page |