You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Olaf Krueger <ma...@olafkrueger.net> on 2019/02/25 15:44:16 UTC

WebComponents and WebAssembly, a game changer!?

Hi,

since a longer period of time I am struggling with me and the question:

"Does it still makes sense to use whatever (huge) framework in order to
build data-driven enterprise (web) applications these days?"

For me, the benefits of using a framework like Royale should be:
Independence, productivity and "multi-platform".
But what price do we have to pay for this? Will we ever harvest the fruits
of dealing with those extra layers and abstractions in order to get a future
proof framework?
Will there be any other important target than the web during the upcoming
decade at all?
Does the usage of a framework really increase productivity when we consider
the overall balance?

On the other side, web technologies are evolving constantly:
WebComponents are growing, they can be used already, it's a reality!
WebAssembly is already a kind of non-UI-cross-platform coding in native
speed, you can use C++, C# and some more other languages already.
WebAssembly and WebComponents can be used together already.
That means that decoupled HTML/CSS components on the UI side could be
probably combined with using a typed language for the business logic.
AFAIK, the DOM manipulation performance from WebAssembly is not perfect yet,
but we can expect that it will evolve.

However, just the usage of WebComponents brings a lot of the advantages that
we are used to having with Flex or Royale/asjs:
You can build reusable, decoupled components. WebComponents are using its
own Shadow DOM and own CSS.
All that by using web standards.
There is already a significant amount of WebComponents available… and it’s
growing [1].

WebAssembly and WebComponents could be probably used together with Royale or
other frameworks, but the question to me is:
Doesn't these technologies already provide most of the things which we'd
like to have as an application developer?

You are so high-skilled guys here and I am really interested in your opinion
on this!

Thanks,
Olaf

[1] http://webcomponents.org



--
Sent from: http://apache-royale-development.20373.n8.nabble.com/

Re: WebComponents and WebAssembly, a game changer!?

Posted by Carlos Rovira <ca...@apache.org>.
Hi Olaf,

things never will be as 20 years ago where people tries to search what's
the technology that has all the things and is above its competitors. Today
there's lots of platforms, devices, languages, frameworks and technologies
and we only can try to target the things that the group of contributors we
are can afford. I think people can choose React  for its needs, others
Royale, others go native... For example I choose Royale, because the cost
to migrate to any other tech was significant and higher so even spending
many hours improving Royale, this path for me was lighter than go to React
or Angular. In the other hand there's an opportunity in the future that we
can target WebAssembly or WebComponents more easily, and all of that will
required work in Royale and in our applications that use it to target that.
But that's ok. In the other hand going with the actual standard (React) of
this year (maybe not the standard of the next year ;)), we are in the same
problem that we had with Flex...rewrite all when next tech comes (probably
WebAssembly).

So I hope some day in the future we can target WebAssembly and other
platforms, but that will only happen if we get more people on board
helping. For now current things on the plate are MX/Spark emulation, Jewel
UI Set, continue improving compiler and framework and more things like
routing, modules, communications (AMF,...)... I think as we get a good
point for all of this (I think we're close but still need work) we can
discuss more things to do, but for me that means more people that want to
work on new things.



El lun., 25 feb. 2019 a las 18:45, Alex Harui (<ah...@adobe.com.invalid>)
escribió:

> There have been past discussions on this topic.  With more volunteers, we
> would output the same MXML and AS to WebComponents and WebAssembly, and
> potentially other targets.  If you write directly to WebComponents and
> WebAssembly, when some other popular target comes into existence you will
> have to touch your code to target it.
>
> Frameworks provide abstractions that provide advantages and
> disadvantages.  There is no one perfect answer.
>
> HTH,
> -Alex
>
> On 2/25/19, 7:44 AM, "Olaf Krueger" <ma...@olafkrueger.net> wrote:
>
>     Hi,
>
>     since a longer period of time I am struggling with me and the question:
>
>     "Does it still makes sense to use whatever (huge) framework in order to
>     build data-driven enterprise (web) applications these days?"
>
>     For me, the benefits of using a framework like Royale should be:
>     Independence, productivity and "multi-platform".
>     But what price do we have to pay for this? Will we ever harvest the
> fruits
>     of dealing with those extra layers and abstractions in order to get a
> future
>     proof framework?
>     Will there be any other important target than the web during the
> upcoming
>     decade at all?
>     Does the usage of a framework really increase productivity when we
> consider
>     the overall balance?
>
>     On the other side, web technologies are evolving constantly:
>     WebComponents are growing, they can be used already, it's a reality!
>     WebAssembly is already a kind of non-UI-cross-platform coding in native
>     speed, you can use C++, C# and some more other languages already.
>     WebAssembly and WebComponents can be used together already.
>     That means that decoupled HTML/CSS components on the UI side could be
>     probably combined with using a typed language for the business logic.
>     AFAIK, the DOM manipulation performance from WebAssembly is not
> perfect yet,
>     but we can expect that it will evolve.
>
>     However, just the usage of WebComponents brings a lot of the
> advantages that
>     we are used to having with Flex or Royale/asjs:
>     You can build reusable, decoupled components. WebComponents are using
> its
>     own Shadow DOM and own CSS.
>     All that by using web standards.
>     There is already a significant amount of WebComponents available… and
> it’s
>     growing [1].
>
>     WebAssembly and WebComponents could be probably used together with
> Royale or
>     other frameworks, but the question to me is:
>     Doesn't these technologies already provide most of the things which
> we'd
>     like to have as an application developer?
>
>     You are so high-skilled guys here and I am really interested in your
> opinion
>     on this!
>
>     Thanks,
>     Olaf
>
>     [1]
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwebcomponents.org&amp;data=02%7C01%7Caharui%40adobe.com%7C5aff8c6f13344c4a96a408d69b381c1a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636867062628355863&amp;sdata=R7Je%2FG7yEbgRpyLWyMcRtp9T0O%2Bjsgi5Ywm7ttvYFlQ%3D&amp;reserved=0
>
>
>
>     --
>     Sent from:
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-royale-development.20373.n8.nabble.com%2F&amp;data=02%7C01%7Caharui%40adobe.com%7C5aff8c6f13344c4a96a408d69b381c1a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636867062628355863&amp;sdata=rJSQNhXB8mni5HaXG6DYT6CG6UG3pop8%2Bg4dMlwbjLg%3D&amp;reserved=0
>
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira

Re: WebComponents and WebAssembly, a game changer!?

Posted by Alex Harui <ah...@adobe.com.INVALID>.
There have been past discussions on this topic.  With more volunteers, we would output the same MXML and AS to WebComponents and WebAssembly, and potentially other targets.  If you write directly to WebComponents and WebAssembly, when some other popular target comes into existence you will have to touch your code to target it.

Frameworks provide abstractions that provide advantages and disadvantages.  There is no one perfect answer.

HTH,
-Alex

On 2/25/19, 7:44 AM, "Olaf Krueger" <ma...@olafkrueger.net> wrote:

    Hi,
    
    since a longer period of time I am struggling with me and the question:
    
    "Does it still makes sense to use whatever (huge) framework in order to
    build data-driven enterprise (web) applications these days?"
    
    For me, the benefits of using a framework like Royale should be:
    Independence, productivity and "multi-platform".
    But what price do we have to pay for this? Will we ever harvest the fruits
    of dealing with those extra layers and abstractions in order to get a future
    proof framework?
    Will there be any other important target than the web during the upcoming
    decade at all?
    Does the usage of a framework really increase productivity when we consider
    the overall balance?
    
    On the other side, web technologies are evolving constantly:
    WebComponents are growing, they can be used already, it's a reality!
    WebAssembly is already a kind of non-UI-cross-platform coding in native
    speed, you can use C++, C# and some more other languages already.
    WebAssembly and WebComponents can be used together already.
    That means that decoupled HTML/CSS components on the UI side could be
    probably combined with using a typed language for the business logic.
    AFAIK, the DOM manipulation performance from WebAssembly is not perfect yet,
    but we can expect that it will evolve.
    
    However, just the usage of WebComponents brings a lot of the advantages that
    we are used to having with Flex or Royale/asjs:
    You can build reusable, decoupled components. WebComponents are using its
    own Shadow DOM and own CSS.
    All that by using web standards.
    There is already a significant amount of WebComponents available… and it’s
    growing [1].
    
    WebAssembly and WebComponents could be probably used together with Royale or
    other frameworks, but the question to me is:
    Doesn't these technologies already provide most of the things which we'd
    like to have as an application developer?
    
    You are so high-skilled guys here and I am really interested in your opinion
    on this!
    
    Thanks,
    Olaf
    
    [1] https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwebcomponents.org&amp;data=02%7C01%7Caharui%40adobe.com%7C5aff8c6f13344c4a96a408d69b381c1a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636867062628355863&amp;sdata=R7Je%2FG7yEbgRpyLWyMcRtp9T0O%2Bjsgi5Ywm7ttvYFlQ%3D&amp;reserved=0
    
    
    
    --
    Sent from: https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapache-royale-development.20373.n8.nabble.com%2F&amp;data=02%7C01%7Caharui%40adobe.com%7C5aff8c6f13344c4a96a408d69b381c1a%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636867062628355863&amp;sdata=rJSQNhXB8mni5HaXG6DYT6CG6UG3pop8%2Bg4dMlwbjLg%3D&amp;reserved=0
    


Re: WebComponents and WebAssembly, a game changer!?

Posted by Alex Harui <ah...@adobe.com.INVALID>.

On 3/4/19, 1:01 AM, "Carlos Rovira" <ca...@apache.org> wrote:

    
    Royale seems to me more like an option for the future, as a technology and
    a foundation that you could use for years and years, so you can target JS
    now, but WEBASM in the future.
    But all of this remains in the success of Royale. Since if we don't attract
    talent to make lots of this happen, maybe will not be better than other
    options, and even more risky.
    
    Making Royale moving forward and evolving with all the things we all now is
    very difficult. We need people interested in make this happen and investing
    time in tasks that are not easy to get.

Yep, getting more folks to contribute code is key.  One thing I wish we could get more folks to realize is that the Apache model has a very low bar for contribution.  If you want to write a bead that tweaks one small thing, we'll accept it.  Some of the other more corporate-driven projects may not.  That's one of the reasons for beads.  It allows small contributions that should have little impact on the rest of the framework.

My 2 cents,
-Alex    


Re: WebComponents and WebAssembly, a game changer!?

Posted by Carlos Rovira <ca...@apache.org>.
Hi Olaf,

El lun., 4 mar. 2019 a las 8:23, Olaf Krueger (<ma...@olafkrueger.net>)
escribió:

>
> However, as Alex mentioned, I guess the perfect answer is that there is no
> perfect answer.
>

I think that's the great point. You can go with Royale, React, Angula,
Vue,... and all options has its pros and cons
so there's no perfect solution. React has many people behind, Facebook,
docs, you can find people that knows all libs that you need to work with
but has many other problems.

Royale seems to me more like an option for the future, as a technology and
a foundation that you could use for years and years, so you can target JS
now, but WEBASM in the future.
But all of this remains in the success of Royale. Since if we don't attract
talent to make lots of this happen, maybe will not be better than other
options, and even more risky.

Making Royale moving forward and evolving with all the things we all now is
very difficult. We need people interested in make this happen and investing
time in tasks that are not easy to get.
But when that happen is really amazing. If I think in how far we reach
since end of 2017 to these days, I think all is possible. Think all the
work done through this pass year... think how far we could go
in one more year.... I think possibilities are endless. We just need people
coming and joining, and Apache Royale could be an amazing tech to use.

One latest thought. For me React is a cool tech, but I think is just a
library and some other companion libs and is only in the JS realm. So for
me it seems the scope of React is almost done, and what about 5 years in
the future?
Will be React still be the king? And people that are investing now in
React? Should they migrate to the new trend (maybe Webasm?) when world says
that's the new tech to go?

I expect Royale would allow us to add other target, that we'll be difficult
and time consuming, but its all about Royale, and we must to see how to
adapt libs (Jewel,...) to output that new targets, and then adapt our apps
to target that new targets too. But other folks using JS libs...will need
to rewrite *all* from scratch...again...

In the other hand, going with those JS libs for a new app, is the most easy
and less risk solution today without no doubt.

-- 
Carlos Rovira
http://about.me/carlosrovira

Re: WebComponents and WebAssembly, a game changer!?

Posted by Olaf Krueger <ma...@olafkrueger.net>.
Hi guys,
many thanks for your inputs!

Regarding Royale, I am pretty sure that it is the first choice when you have
to migrate large Flex applications. But what's about new applications?
In order to answer this question for us, we already started with
implementing a new, small app by using Royale. I will share some results,
but it will take some weeks because we don't work on this full time.

Anyway, keeping an eye on the evolvements in the web world I think that the
way how the world will build web applications will change. It will be
exciting to see what happens and if application frameworks will have the
same status as today.
However, as Alex mentioned, I guess the perfect answer is that there is no
perfect answer.

Thanks,
Olaf





--
Sent from: http://apache-royale-development.20373.n8.nabble.com/

Re: WebComponents and WebAssembly, a game changer!?

Posted by Harbs <ha...@gmail.com>.
Personally, I’m skeptical that WebComponents are inherently better. To use WebComponents in a real application, you are going to need to access the DOM a lot (whether it’s true DOM or shadow DOM, it’s still DOM). To my mind that has to be much slower than accessing plain JS.

One of the big advantages to Royale as I see it is that we’re treating HTML and CSS as nothing more than a rendering engine. We’re only using the DOM for rendering and very little else. The vast majority of the code remains in the pure JS engine which has an advantage both in terms of memory footprint, and speed of execution.

A quick search turned up this which seems to indicate that Web Component rendering is slow when compared to native.[1] Royale rendering should be very close to (or better than) native. (The reason I say “better than” is because HTML parsing takes measurable time. Royale apps add DOM elements directly, so there’s no (or very little) HTML parsing required.)

Either way, Royale is free to use the DOM as an engine in any way it likes. If Web Components turn out to be the best, Royale can take advantage of that.

My $0.02,
Harbs

[1]https://stackoverflow.com/questions/46431688/web-components-rendering-performance <https://stackoverflow.com/questions/46431688/web-components-rendering-performance>

> On Feb 25, 2019, at 5:44 PM, Olaf Krueger <ma...@olafkrueger.net> wrote:
> 
> Hi,
> 
> since a longer period of time I am struggling with me and the question:
> 
> "Does it still makes sense to use whatever (huge) framework in order to
> build data-driven enterprise (web) applications these days?"
> 
> For me, the benefits of using a framework like Royale should be:
> Independence, productivity and "multi-platform".
> But what price do we have to pay for this? Will we ever harvest the fruits
> of dealing with those extra layers and abstractions in order to get a future
> proof framework?
> Will there be any other important target than the web during the upcoming
> decade at all?
> Does the usage of a framework really increase productivity when we consider
> the overall balance?
> 
> On the other side, web technologies are evolving constantly:
> WebComponents are growing, they can be used already, it's a reality!
> WebAssembly is already a kind of non-UI-cross-platform coding in native
> speed, you can use C++, C# and some more other languages already.
> WebAssembly and WebComponents can be used together already.
> That means that decoupled HTML/CSS components on the UI side could be
> probably combined with using a typed language for the business logic.
> AFAIK, the DOM manipulation performance from WebAssembly is not perfect yet,
> but we can expect that it will evolve.
> 
> However, just the usage of WebComponents brings a lot of the advantages that
> we are used to having with Flex or Royale/asjs:
> You can build reusable, decoupled components. WebComponents are using its
> own Shadow DOM and own CSS.
> All that by using web standards.
> There is already a significant amount of WebComponents available… and it’s
> growing [1].
> 
> WebAssembly and WebComponents could be probably used together with Royale or
> other frameworks, but the question to me is:
> Doesn't these technologies already provide most of the things which we'd
> like to have as an application developer?
> 
> You are so high-skilled guys here and I am really interested in your opinion
> on this!
> 
> Thanks,
> Olaf
> 
> [1] http://webcomponents.org
> 
> 
> 
> --
> Sent from: http://apache-royale-development.20373.n8.nabble.com/