Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [che-dev] Using TERN as ( a JavaScript Code Assistance ) backend service

Hello Pavel:

For 4.0, the preferred code assistant approach is server-side. We have done this work for Java, but not any other language. And even for Java, we have a lot more work left to do. In the Java plug-in, we include the JDT core and this gets injected into the workspace runtime when a developer adds a project that has Java files or a Java-related project type.  We then place a standardized RESTful wrapper around these JDT services that is hooked into the editor.  The performance and responsiveness is quite good - feels just like localhost development.

We have not done this for _javascript_. 4.0 uses the Orion editor, so currently when a _javascript_ file is detected, we use the embedded utilities of Orion for _javascript_ code assistants, which are client-side. This works ok for single files, but it does not handle any cross-project _javascript_ references. 

As you indicate, a better approach would be to add in a Tern-style syntax analysis running within the workspace hooked up to the standard RESTful interfaces so that the remote editor in the browser can include those recommendations.

We do not have any near term plans to add this, but would be able to support you if you wanted to explore setting this up.  We'd love to explore this together.

Tyler Jewell | CEO | tyler@​codenvy.​com | 9​78​.8​84​.53​55


On Sun, Feb 28, 2016 at 7:26 AM, Sosin, Pavel <pavel.sosin@xxxxxxx> wrote:

Hello colleagues,

 

I already asked about code assistance implementation approach (client side vs. server side) about 1 year ago and your answer was that the server side processing looks more promising from the performance point of view.

Meanwhile, I implemented a lot of area specific logic at the client side via extension of old Orion client and see that the processing turns to be heavier and heavier. The main reason is the intensive interchange of project state info between client and server. For the big projects it produces dozens of roundtrips. In my case also libraries metadata is accessed via cloud services and it increases the data volume and number of roundtrips even further.

 

Looking at the recent eclipse-che version I see the tern based _javascript_ code assistance implementation where tern runs in the web worker, i.e. still at the client side. Is it the target architecture or some intermediate state of development? Have you any plans to move _javascript_ code assistance processing to the server side or this idea is not relevant anymore?

 

BR

Pavel Sosin

 


_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/che-dev



Back to the top