Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [nebula-dev] [rap-dev] Let's become friends

Hi Wim,

On Tue, Jul 3, 2012 at 9:29 AM, Wim Jongman <wim.jongman@xxxxxxxxx> wrote:
[...]
>> patches, ...).  The API is Nebula, but the code is completely
>> different because we don't draw but use (end extend) RAP's
>
> In this case it is important to keep te API compatible in the future.

Yes, it would be good to discuss incompatible API changes in future.
Our current API is a subset of the Nebula Grid's API.

>> I guess the issue with most Nebula widgets is that they draw a lot,
>> which partly works in the browser as well, but is often not the ideal
>> solution. In those cases, it could make sense to create a
>> RAP-optimized version of a widget in a branch or host it in the RAP
>> Incubator. This is something which we're happy to help with.
>
> The problem is the double maintenance. In intensive widgets like Grid where
> there is an alternative available it makes sense to make a new
> implementation. In other widgets like CDateTime which are not used "all of
> the time". I would not mind paying the price of slower performance.

Sure, if it works on RAP, and users are happy with the outcome, that's
fine. PShelf is another example [1].

> Other widgets like Gantt which also draw intensively there is no alternative
> available so making it RAP native would be nearly impossible?

It's not impossible at all. Drawing on a Canvas is supported in RAP,
and in case of a (read-only) Gantt chart, it's probably the best and
easiest approach. But as soon as you want to add immediate feedback to
user interactions (such as dragging parts of a chart, highlighting on
mouse over, etc.) this approach falls short. Those cases require
client-side event handling, i.e. either a custom widget [2] or client
scripting [3].

>> BTW, the RAP Oscilloscope is a completely new implementation, and it's
>> not (yet) open source.
>
> Ah, I assume you moved the drawing to java script? It would be a good
> example how to convert a widget from native drawing to java script drawing.

Actually, we considered to start from the Nebula Oscilloscope, but it
turned out to be easier to write the RAP Oscilloscope from scratch.
It's build around browser concepts and doesn't have much in common
with the SWT widget. The drawing was the easiest part, challenging was
getting data from the server in optimized chunks, dealing with buffer
underruns etc.

Best regards,
Ralf

[1] http://eclipsesource.com/blogs/2010/04/20/drawing-with-rap-yup/
[2] http://wiki.eclipse.org/RAP/Custom_Widgets
[3] http://wiki.eclipse.org/RAP/ClientScripting


Back to the top