Re: Using Polymer Webcomponents in seaside

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Using Polymer Webcomponents in seaside

Andy Burnett
>>> Sebastian Heidbrink said

Hi Andy,

I actually just started to write a little PolymerWorkbench as a
proof-of-concept to integrate Glamour, PharoJS and Polymer. I have no
idea if that will work at all yet, since I have only little PharoJS
experience so far. Seaside is no target of mine. I parse the web
component definition files and will edit CSS and HTML directly.
Eventhandling and script generation shall be done via PharoJS. I think
this could open the PharoIDE to the web dev world if successful.

My impression on Polymer is the same as yours.
I have the impression that Polymer finally adds some software
engineering level sanity to the JS web world...
I'll let you know once I will have made sources available.

<<<

That sounds very interesting indeed. I have just started playing with PharoJS. So, I am keen to learn about your experience.

Cheers
Andy

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using Polymer Webcomponents in seaside

SebastianHC
Hi Andy,

I use/d Amber and Seaside and there is one particular thing that I never really liked.
You still do not feel like writing web content in a comfortable way. Even though development speed pick's up as soon as you have implemented your basic framework and components I always thought it might be more convenient to use the specialized IDEs for HTML, JS and CSS for the first visualization of your proof of concept.

Now I stumbled across Polymer and I finally had the impression that one can, just like in Seaside, built small easy to understand components and grow from there. I actually like the separation of JS, HTML and CSS in Polymer as well as the loosely coupling of the application parts via events,.... just like in Smalltalk.
BUT! I can not yet imagine on how to debug a complex Polymer application where some components might even be developed by other developers or teams....
 
This is why I thought,.... PharoJS and Polymer might be a good fit.
Unfortunately I was very close to write you anyways that it currently seems to me as if PharoSJ is not really there yet. I understood the concept behind PharoJS but to integrate the needed websocket proxy layer of PharoJS into Polymer is something I still have trouble to wrap my head around.
I think Noury or Dave will first have to tell me how they would integrate something like jQuery into PharoJS in order to enable me to take what I already have and finish the Polymer parts missing.
One might be able to use Polymer right now, but the resulting JS code would not be comparable to the one used in the Polymer documentation and that does not really make sense to me. One would implement PharoJS Code that accesses/manipulates an existing polymer object based on http://polymer.github.io/polymer/ Polymer.Base and not just provide a json specification as a configuration for a Polymer constructor.

I am not sure yet if PharoJS is the right thing for me. I still feel like writing Amber or Seaside code but this time against a wall of proxy objects (document, window, WebSocket, ... ). I, again, need to know and learn the api of those first class objects and their particular behaviors...
But if you would like to implement pure logic, independent from third party libraries then PharoJS is alreay providing a lot to accomplish that.

The only thing that needs more attention is the layer that takes care of the proxy and web socket live cycles. I have to restart my image too often to have a working JbBridge again...

What did you try so far?
Sebastian



On 2015-11-30 8:47 AM, Andy Burnett wrote:
>>> Sebastian Heidbrink said

Hi Andy,

I actually just started to write a little PolymerWorkbench as a
proof-of-concept to integrate Glamour, PharoJS and Polymer. I have no
idea if that will work at all yet, since I have only little PharoJS
experience so far. Seaside is no target of mine. I parse the web
component definition files and will edit CSS and HTML directly.
Eventhandling and script generation shall be done via PharoJS. I think
this could open the PharoIDE to the web dev world if successful.

My impression on Polymer is the same as yours.
I have the impression that Polymer finally adds some software
engineering level sanity to the JS web world...
I'll let you know once I will have made sources available.

<<<

That sounds very interesting indeed. I have just started playing with PharoJS. So, I am keen to learn about your experience.

Cheers
Andy


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using Polymer Webcomponents in seaside

Maarten Mostert-2
He Guys If you’re like me and never managed to really understand seaside, you should have a look at Cincoms AppeX, which really makes a gréât difference in writing web applications the natural way if that is the bottom line of your concern. 
In AppeX, you only need to know two things, smalltalk and javascript, you write the later directly (with syntax control) in the smalltalk IDE which makes for a real différence. Personally I write on top of jQuery, Bootstrap, Stripe and numerous additional plugins. My only problems remain in really understanding javascript and jquery.

Regards,

Maarten MOSTERT

 

 

28 Av Alphonse Denis
83400 Hyères, France
+33 676411296 

 







Le 1 déc. 2015 à 01:39, Sebastian Heidbrink <[hidden email]> a écrit :

Hi Andy,

I use/d Amber and Seaside and there is one particular thing that I never really liked.
You still do not feel like writing web content in a comfortable way. Even though development speed pick's up as soon as you have implemented your basic framework and components I always thought it might be more convenient to use the specialized IDEs for HTML, JS and CSS for the first visualization of your proof of concept.

Now I stumbled across Polymer and I finally had the impression that one can, just like in Seaside, built small easy to understand components and grow from there. I actually like the separation of JS, HTML and CSS in Polymer as well as the loosely coupling of the application parts via events,.... just like in Smalltalk.
BUT! I can not yet imagine on how to debug a complex Polymer application where some components might even be developed by other developers or teams....
 
This is why I thought,.... PharoJS and Polymer might be a good fit.
Unfortunately I was very close to write you anyways that it currently seems to me as if PharoSJ is not really there yet. I understood the concept behind PharoJS but to integrate the needed websocket proxy layer of PharoJS into Polymer is something I still have trouble to wrap my head around.
I think Noury or Dave will first have to tell me how they would integrate something like jQuery into PharoJS in order to enable me to take what I already have and finish the Polymer parts missing.
One might be able to use Polymer right now, but the resulting JS code would not be comparable to the one used in the Polymer documentation and that does not really make sense to me. One would implement PharoJS Code that accesses/manipulates an existing polymer object based on http://polymer.github.io/polymer/ Polymer.Base and not just provide a json specification as a configuration for a Polymer constructor.

I am not sure yet if PharoJS is the right thing for me. I still feel like writing Amber or Seaside code but this time against a wall of proxy objects (document, window, WebSocket, ... ). I, again, need to know and learn the api of those first class objects and their particular behaviors...
But if you would like to implement pure logic, independent from third party libraries then PharoJS is alreay providing a lot to accomplish that.

The only thing that needs more attention is the layer that takes care of the proxy and web socket live cycles. I have to restart my image too often to have a working JbBridge again...

What did you try so far?
Sebastian



On 2015-11-30 8:47 AM, Andy Burnett wrote:
>>> Sebastian Heidbrink said

Hi Andy,

I actually just started to write a little PolymerWorkbench as a
proof-of-concept to integrate Glamour, PharoJS and Polymer. I have no
idea if that will work at all yet, since I have only little PharoJS
experience so far. Seaside is no target of mine. I parse the web
component definition files and will edit CSS and HTML directly.
Eventhandling and script generation shall be done via PharoJS. I think
this could open the PharoIDE to the web dev world if successful.

My impression on Polymer is the same as yours.
I have the impression that Polymer finally adds some software
engineering level sanity to the JS web world...
I'll let you know once I will have made sources available.

<<<

That sounds very interesting indeed. I have just started playing with PharoJS. So, I am keen to learn about your experience.

Cheers
Andy


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using Polymer Webcomponents in seaside

Johan Brichau-2
Hey guys,

Web components are a perfect fit for Seaside. It does not even have to be changed to start using them. At it’s core, Seaside is an extensible framework and adding new (html) tags is a core extensible feature. Take a look at the Bootstrap extension, for example. For the implementation of the web component itself, I don’t see why you would want/need to use Seaside. It’s all javascript that needs to execute in the browser and therefore best implemented using tools for that. This means you can easily still generate the entire page using Seaside (if you want server-side rendering) and include the web components implementation.We did exactly this in a couple of cases to reduce the size of the generated page: we included custom html elements in the Seaside-rendered page and included the js implementation of the corresponding web components.

In any case, too bad to hear Seaside did not work out for you.
It’s a given fact that Seaside is not the answer to all web development tasks. Use the right tool for the right job is a healthy 
That being said, it would be beneficial if more people try to add onto (or integrate with) Seaside rather than implement something completely new. For example, take a look at how the ruby-on-rails community has added onto their (server-side rendering) framework.

We (Yesplan) use Seaside for all server-side rendered components and are having a blast using it. We are also using javascript frameworks like knockoutjs, d3js, datatables and react. But we don’t try to work with them from a Smalltalk IDE, nor do we think we can develop for those without really understanding javascript and jquery.

cheers,
Johan

On 01 Dec 2015, at 09:04, Maarten Mostert <[hidden email]> wrote:

He Guys If you’re like me and never managed to really understand seaside, you should have a look at Cincoms AppeX, which really makes a gréât difference in writing web applications the natural way if that is the bottom line of your concern. 
In AppeX, you only need to know two things, smalltalk and javascript, you write the later directly (with syntax control) in the smalltalk IDE which makes for a real différence. Personally I write on top of jQuery, Bootstrap, Stripe and numerous additional plugins. My only problems remain in really understanding javascript and jquery.

Regards,

Maarten MOSTERT

 

 

28 Av Alphonse Denis
83400 Hyères, France
+33 676411296 

 







Le 1 déc. 2015 à 01:39, Sebastian Heidbrink <[hidden email]> a écrit :

Hi Andy,

I use/d Amber and Seaside and there is one particular thing that I never really liked.
You still do not feel like writing web content in a comfortable way. Even though development speed pick's up as soon as you have implemented your basic framework and components I always thought it might be more convenient to use the specialized IDEs for HTML, JS and CSS for the first visualization of your proof of concept.

Now I stumbled across Polymer and I finally had the impression that one can, just like in Seaside, built small easy to understand components and grow from there. I actually like the separation of JS, HTML and CSS in Polymer as well as the loosely coupling of the application parts via events,.... just like in Smalltalk.
BUT! I can not yet imagine on how to debug a complex Polymer application where some components might even be developed by other developers or teams....
 
This is why I thought,.... PharoJS and Polymer might be a good fit.
Unfortunately I was very close to write you anyways that it currently seems to me as if PharoSJ is not really there yet. I understood the concept behind PharoJS but to integrate the needed websocket proxy layer of PharoJS into Polymer is something I still have trouble to wrap my head around.
I think Noury or Dave will first have to tell me how they would integrate something like jQuery into PharoJS in order to enable me to take what I already have and finish the Polymer parts missing.
One might be able to use Polymer right now, but the resulting JS code would not be comparable to the one used in the Polymer documentation and that does not really make sense to me. One would implement PharoJS Code that accesses/manipulates an existing polymer object based on http://polymer.github.io/polymer/ Polymer.Base and not just provide a json specification as a configuration for a Polymer constructor.

I am not sure yet if PharoJS is the right thing for me. I still feel like writing Amber or Seaside code but this time against a wall of proxy objects (document, window, WebSocket, ... ). I, again, need to know and learn the api of those first class objects and their particular behaviors...
But if you would like to implement pure logic, independent from third party libraries then PharoJS is alreay providing a lot to accomplish that.

The only thing that needs more attention is the layer that takes care of the proxy and web socket live cycles. I have to restart my image too often to have a working JbBridge again...

What did you try so far?
Sebastian



On 2015-11-30 8:47 AM, Andy Burnett wrote:
>>> Sebastian Heidbrink said

Hi Andy,

I actually just started to write a little PolymerWorkbench as a
proof-of-concept to integrate Glamour, PharoJS and Polymer. I have no
idea if that will work at all yet, since I have only little PharoJS
experience so far. Seaside is no target of mine. I parse the web
component definition files and will edit CSS and HTML directly.
Eventhandling and script generation shall be done via PharoJS. I think
this could open the PharoIDE to the web dev world if successful.

My impression on Polymer is the same as yours.
I have the impression that Polymer finally adds some software
engineering level sanity to the JS web world...
I'll let you know once I will have made sources available.

<<<

That sounds very interesting indeed. I have just started playing with PharoJS. So, I am keen to learn about your experience.

Cheers
Andy


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using Polymer Webcomponents in seaside

Brad Selfridge
Would Polymer fit better in Amber rather than PharoJS?

Brad Selfridge
Reply | Threaded
Open this post in threaded view
|

Re: [Bulk] [Seaside] Re: Using Polymer Webcomponents in seaside

SebastianHC
I do not think that that makes any difference.
I once tried to integrate Amber with RiverTrail and there was no way to
get access to the Amber context within RiverTrail and vice versa. At
least at that time....

Amber has a great environment to maintain all the prerequisites of your
application. The whole installation and maintenance bundle that Herby
setup is really sophisticated and takes a lot of JS burden from the
Smalltalk developer. PharoJS has nothing like that to offer, yet.




On 2015-12-01 5:38 AM, [hidden email] wrote:

> Would Polymer fit better in Amber rather than PharoJS?
>
>
>
>
>
> -----
> Brad Selfridge
> --
> View this message in context: http://forum.world.st/Re-Using-Polymer-Webcomponents-in-seaside-tp4864427p4864538.html
> Sent from the Seaside General mailing list archive at Nabble.com.
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using Polymer Webcomponents in seaside

Andy Burnett
In reply to this post by Andy Burnett
>>> Johan Brichau said

Hey guys,

Web components are a perfect fit for Seaside. It does not even have to be changed to start using them. At it’s core, Seaside is an extensible framework and adding new (html) tags is a core extensible feature. Take a look at the Bootstrap extension, for example. For the implementation of the web component itself, I don’t see why you would want/need to use Seaside. It’s all javascript that needs to execute in the browser and therefore best implemented using tools for that. This means you can easily still generate the entire page using Seaside (if you want server-side rendering) and include the web components implementation.We did exactly this in a couple of cases to reduce the size of the generated page: we included custom html elements in the Seaside-rendered page and included the js implementation of the corresponding web components.

SNIP
<<<

That's great to know. I had hoped it would be easy to do.

Could you give an example of how you might get the selected value from eg a polymer date picker? I want to get a sense of the basic plumbing - btw my seaside experience is very limited.

Cheers
Andy
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using Polymer Webcomponents in seaside

Johan Brichau-2

On 01 Dec 2015, at 18:00, Andy Burnett <[hidden email]> wrote:

Could you give an example of how you might get the selected value from eg a polymer date picker? I want to get a sense of the basic plumbing - btw my seaside experience is very limited. 

Good point.
It requires knowledge on how to work with JavaScript from Seaside.
The cases we worked with an x-tags web component, we used event delegation and event handlers that make a request back to server. There are probably other ways, so I will take a look and try to create an example.

Johan

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using Polymer Webcomponents in seaside

Sven Van Caekenberghe-2
There is really a great need for extra documentation so that mere mortals can learn how to work with all the JavaScript magic in Seaside. A lot is possible, but it is very hard to figure it out just by browsing (in Smalltalk). There has to be a real document with a high level outline, best practices, guidelines, examples, tutorials - along the lines of the Seaside book.

> On 02 Dec 2015, at 09:07, Johan Brichau <[hidden email]> wrote:
>
>
>> On 01 Dec 2015, at 18:00, Andy Burnett <[hidden email]> wrote:
>>
>> Could you give an example of how you might get the selected value from eg a polymer date picker? I want to get a sense of the basic plumbing - btw my seaside experience is very limited.
>
> Good point.
> It requires knowledge on how to work with JavaScript from Seaside.
> The cases we worked with an x-tags web component, we used event delegation and event handlers that make a request back to server. There are probably other ways, so I will take a look and try to create an example.
>
> Johan
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside