Hi Norbert,
I'm answering inside your email. If you'd like more explanations about some of the points, please just tell me. I'm also forwarding to Amber ML. On May 14, 2013, at 5:37 PM, Norbert Hartl <[hidden email]> wrote: > Hi Nico, > >> I do have one question: what was your experience with Amber? >> > > as an overall statement I would say it was a pleasure to use amber to develop the app. The initial setup until the class browser opens is easy. Learning how to create packages and knowing that code persistence is based on packages is also quite ok because amber includes a WebDav Server that can be started from the downloaded amber repo. So no big problems in starting. > > Thinks that go less smooth: > > - the web app I'm developing is checked into git. Amber puts all files (js and st) in the same directory. This makes managing files in version control system a bit cumbersome. One approach that worked for me and others is to ignore the .js files and recompile the .st files of your project using a git hook when you pull. > - all code is put in the same directory. The amber code checked out from the repository is in the same place as the code that I produced myself. Again you need to do additional steps to do to clean it up You can now deal with that. loadAmber() takes additional optional arguments to deal with project paths. > - tools for combining code are missing. That is not a big problem because a simple cat on the console can solve this but would be nice not have to. bin/amberc does that. That's actually how the WebDAV of Amber is compiled into one file :) > - I prepared two different locations on my web server for the same app. One that is used to develop (the WebDav server access it) and one where only the combined javascript source code is used. This is needed to test the target deployment. Something that could ease this would be wonderful > > What keeps me from using it in every project: > > - The startup times for amber can be quite huge. All the class initialization is a lot of stuff that burns CPU cycle. On an iphone you don't notice really but on the Nexus 7 tablet it takes 2-4 seconds for initialization and the first page to appear. This is a not a problem for desktop browsers but for mobile ones where I find amber extremely good for. I only used amber in pre pre 1.0 versions and I know there have been optimizations that I didn't test, yet. The latest stable release of Amber should be *a lot* faster to load. > > And the annoying "You didn't ask for but I add it anyway wishlist": > > - I need to test Helios because I think it solves a lot of issues with the current browser. I don't know how it is supposed to work that you have a second window with the IDE that accesses a page. But I'm sure it works flawlessly or I misunderstood it from the screenshots yes, it does :) > - retarget files on the disc. I would like to have different paths on disc for separate packages. You can also do that now with loadAmber() > - amber using websockets to connect to a backend pharo server. This can be used for comfortable code management, amber support for state transport client->server and server->client and to replicate console log to the pharo transcript (or whatever). This is important on mobile devices where sometimes you cannot access the browser console. ok, that's an interesting point :) > - it would be fine to have support for obfuscation. It is not only for hiding code but also for making it smaller thus saving bandwidth and startup times. This could be the case if the produced javascript code would be work with google closure compiler. Even better would be to have visitor for AST/IR to make it even more effective/less dangerous. it does work with Google Closure Compiler, there's an option in bin/amberc too for that ;) > Cheers, Nico > Norbert > > Am 14.05.2013 um 15:32 schrieb Nicolas Petton <[hidden email]>: > >> Nico >> >> >> On May 14, 2013, at 11:37 AM, Norbert Hartl <[hidden email]> wrote: >> >>> I think my last post of this message fell into the time the old mailing list dies. So here it is again >>> >>> --- >>> >>> We (@2denker in cooperation with a local university) built a monitoring tool for disaster scenario recovery rehearsals. Several times a year universities, red cross, THW und hospitals are planning a rehearsal together. For this an environment is prepared for a simulated disaster (car accidents, explosions in civil areas, …). The local environment is prepared to look real as well as film make-up artist prepare people for injuries (broken legs, open head, …). >>> The rehearsal should improve the coordination of several hospitals, firemen…as well as the quickest possible treatment for the injured. >>> >>> One important part of the rehearsal is monitoring of what happens. This is achieved by installing a local position system and using our tool. Every injured person gets a wireless tablet. On the tablet there are UI elements that indicate treatment done to them. Whenever a doctor comes visiting the injured person activates the corresponding UI button. The events are transmitted to a server and are prepared for another analysis software. The tablet enables the HQ to make contact to individual persons or groups. The tablet measures times of needed treatments and instructs the injured to be dead if measurements weren't taken in time. >>> >>> Technically it is done in smalltalk solo. >>> >>> The server is a pharo image. It has >>> >>> - web admin interface with complex forms for managing injuries, injured, groups, etc. For this we used seaside because it is best suited for this job. Forms are done with magritte, magritte-bootstrap. The interface also displays the live incoming events and other data >>> - a static file server that delivers static resources to client tablets >>> - a websocket connector that is used by the clients to connect to the server >>> - a http handler to export data to other analysis tools >>> >>> The client is done with amber smalltalk. It >>> >>> - loads the web page containing amber from the server >>> - connects back to the server >>> - downloads a UI spec for the injured using the tablet to display personalized UI elements >>> - stores events on the tablet in case the injured is offline >>> - measures times to instruct the injured >>> >>> If you have any questions please don't hesitate to ask. >>> >>> Norbert >> >> -- >> Nicolas Petton >> http://www.nicolas-petton.fr >> >> > > -- Nicolas Petton http://www.nicolas-petton.fr -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/groups/opt_out. |
About the Google closure compiler, how does one install that?
Just put the jar file in one's home directory as the amberc usager page says? Phil 2013/5/15 Nicolas Petton <[hidden email]> Hi Norbert, You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/groups/opt_out. |
I'm actually not sure. Manfred can answere that :)
Nico On May 15, 2013, at 12:21 PM, "[hidden email]" <[hidden email]> wrote:
-- Nicolas Petton http://www.nicolas-petton.fr You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/groups/opt_out. |
In reply to this post by philippeback
Hi Phil,
-- currently it only works if 'compiler.jar' can be found in your home directory. You can check the behavior here: https://github.com/amber-smalltalk/amber/blob/master/bin/amberc#L21
Afterwards you need to specify any of the optimization flags -o, -O, or -A. Best, Manfred
On Wed, May 15, 2013 at 12:21 PM, [hidden email] <[hidden email]> wrote:
You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/groups/opt_out. |
In reply to this post by Nicolas Petton
Nico,
thanks for your helpful input. I will try all of these when the project enters the next phase. Well, I will measure the startup times soon because it influences the do or don't of using it in new projects. Norbert Am 15.05.2013 um 12:12 schrieb Nicolas Petton <[hidden email]>: > Hi Norbert, > > I'm answering inside your email. If you'd like more explanations about some of the points, please just tell me. I'm also forwarding to Amber ML. > > On May 14, 2013, at 5:37 PM, Norbert Hartl <[hidden email]> wrote: > >> Hi Nico, >> >>> I do have one question: what was your experience with Amber? >>> >> >> as an overall statement I would say it was a pleasure to use amber to develop the app. The initial setup until the class browser opens is easy. Learning how to create packages and knowing that code persistence is based on packages is also quite ok because amber includes a WebDav Server that can be started from the downloaded amber repo. So no big problems in starting. >> >> Thinks that go less smooth: >> >> - the web app I'm developing is checked into git. Amber puts all files (js and st) in the same directory. This makes managing files in version control system a bit cumbersome. > > One approach that worked for me and others is to ignore the .js files and recompile the .st files of your project using a git hook when you pull. > > >> - all code is put in the same directory. The amber code checked out from the repository is in the same place as the code that I produced myself. Again you need to do additional steps to do to clean it up > > You can now deal with that. loadAmber() takes additional optional arguments to deal with project paths. > >> - tools for combining code are missing. That is not a big problem because a simple cat on the console can solve this but would be nice not have to. > > bin/amberc does that. That's actually how the WebDAV of Amber is compiled into one file :) > >> - I prepared two different locations on my web server for the same app. One that is used to develop (the WebDav server access it) and one where only the combined javascript source code is used. This is needed to test the target deployment. Something that could ease this would be wonderful >> >> What keeps me from using it in every project: >> >> - The startup times for amber can be quite huge. All the class initialization is a lot of stuff that burns CPU cycle. On an iphone you don't notice really but on the Nexus 7 tablet it takes 2-4 seconds for initialization and the first page to appear. This is a not a problem for desktop browsers but for mobile ones where I find amber extremely good for. I only used amber in pre pre 1.0 versions and I know there have been optimizations that I didn't test, yet. > > The latest stable release of Amber should be *a lot* faster to load. > >> >> And the annoying "You didn't ask for but I add it anyway wishlist": >> >> - I need to test Helios because I think it solves a lot of issues with the current browser. I don't know how it is supposed to work that you have a second window with the IDE that accesses a page. But I'm sure it works flawlessly or I misunderstood it from the screenshots > > yes, it does :) > >> - retarget files on the disc. I would like to have different paths on disc for separate packages. > > You can also do that now with loadAmber() > >> - amber using websockets to connect to a backend pharo server. This can be used for comfortable code management, amber support for state transport client->server and server->client and to replicate console log to the pharo transcript (or whatever). This is important on mobile devices where sometimes you cannot access the browser console. > > ok, that's an interesting point :) > >> - it would be fine to have support for obfuscation. It is not only for hiding code but also for making it smaller thus saving bandwidth and startup times. This could be the case if the produced javascript code would be work with google closure compiler. Even better would be to have visitor for AST/IR to make it even more effective/less dangerous. > > it does work with Google Closure Compiler, there's an option in bin/amberc too for that ;) >> > > Cheers, > Nico > >> Norbert >> >> Am 14.05.2013 um 15:32 schrieb Nicolas Petton <[hidden email]>: >> >>> Nico >>> >>> >>> On May 14, 2013, at 11:37 AM, Norbert Hartl <[hidden email]> wrote: >>> >>>> I think my last post of this message fell into the time the old mailing list dies. So here it is again >>>> >>>> --- >>>> >>>> We (@2denker in cooperation with a local university) built a monitoring tool for disaster scenario recovery rehearsals. Several times a year universities, red cross, THW und hospitals are planning a rehearsal together. For this an environment is prepared for a simulated disaster (car accidents, explosions in civil areas, …). The local environment is prepared to look real as well as film make-up artist prepare people for injuries (broken legs, open head, …). >>>> The rehearsal should improve the coordination of several hospitals, firemen…as well as the quickest possible treatment for the injured. >>>> >>>> One important part of the rehearsal is monitoring of what happens. This is achieved by installing a local position system and using our tool. Every injured person gets a wireless tablet. On the tablet there are UI elements that indicate treatment done to them. Whenever a doctor comes visiting the injured person activates the corresponding UI button. The events are transmitted to a server and are prepared for another analysis software. The tablet enables the HQ to make contact to individual persons or groups. The tablet measures times of needed treatments and instructs the injured to be dead if measurements weren't taken in time. >>>> >>>> Technically it is done in smalltalk solo. >>>> >>>> The server is a pharo image. It has >>>> >>>> - web admin interface with complex forms for managing injuries, injured, groups, etc. For this we used seaside because it is best suited for this job. Forms are done with magritte, magritte-bootstrap. The interface also displays the live incoming events and other data >>>> - a static file server that delivers static resources to client tablets >>>> - a websocket connector that is used by the clients to connect to the server >>>> - a http handler to export data to other analysis tools >>>> >>>> The client is done with amber smalltalk. It >>>> >>>> - loads the web page containing amber from the server >>>> - connects back to the server >>>> - downloads a UI spec for the injured using the tablet to display personalized UI elements >>>> - stores events on the tablet in case the injured is offline >>>> - measures times to instruct the injured >>>> >>>> If you have any questions please don't hesitate to ask. >>>> >>>> Norbert >>> >>> -- >>> Nicolas Petton >>> http://www.nicolas-petton.fr >>> >>> >> >> > > -- > Nicolas Petton > http://www.nicolas-petton.fr > > -- > You received this message because you are subscribed to the Google Groups "amber-lang" group. > To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. > For more options, visit https://groups.google.com/groups/opt_out. > > -- You received this message because you are subscribed to the Google Groups "amber-lang" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. For more options, visit https://groups.google.com/groups/opt_out. |
Free forum by Nabble | Edit this page |