Serenity: [Please Comment] Deprecating Saltarelle

Created on 9 Mar 2018  路  12Comments  路  Source: serenity-is/Serenity

Hello all,

About two years ago, we decided to switch to TypeScript from Saltarelle compiler, and it turned out to be a wise decision, and i never looked back.

As i don't want and like anybody (including myself) losing their existing investments and having much trouble switching to a new version, i strove to keep the switch as seamless as possible, so kept your existing code in Saltarelle work so far.

You may guess that it's is a pain to maintain multiple versions of a framework. It's also hard to having to consider every version out there while doing a simple change.

I'm not going to phase out Saltarelle support tomorrow, but from now on i will not be considering about compability much. I'll be removing mscorlib.js and take all code that we use from there into Serenity.CoreLib.js. So in a near future, you may (or may not with some luck) start to have some errors after updating Serenity, if you are still in Saltarelle camp.

Here are your options, if you are still using Saltarelle:

  • Don't update that project to newer versions
  • Take its output, usually in YourProject.Script.Site.js and continue using that while it works.
  • Convert the code in YourProject.Script.Site.js to TypeScript (strongly recommended)

I wonder how many of you are still using Saltarelle?

Meanwhile, another news, we're possibly switching to React from jQuery.

Don't worry, your existing code will continue to work (well for a few years :)

I'll write another post about this and my reasoning, but for those who wonder why React, and not Vue (as i was a fan of Vue), i still love Vue, it's great, but tooling is just not there. React works much better with Visual Studio / TypeScript and we are in the Microsoft camp.

notice

Most helpful comment

I wont be removing jQueryUI yet but its too big and obsolete widget library that we should leave behind one day. Anyway, will try to find an alternative for dialogs in that case.

Your existing code will continue to work, but i will try to share code between React and classic widgets, so some direct DOM manipulations might have side effects as React expects to be in control. I've implemented toolbar and property grid in React with common code so far.

Seems like no one uses Saltaralle, but i'm sure there are some who doesnt visit here yet. Anyway they can still use older versions.

All 12 comments

For me, Typescript is future, Vue and React are not important, important is Typescipt

until it's not Angular and its complex learning curve, retro-compatibilities fails etc.
all this sounds good to me. Never used Saltarelle.

Go ahead, @volkanceylan

I wish to remove these saltarelle things as it is dead now.

Agreed that vuejs does not fit perfectly with typescript and vs. Specially, views are not typesafe in vue (at least it seems to me).

Don't know much about React.

Don't know much about react but I guess you have a good reason for the change you want to make. We hope upgrades in the future for projects from jquery to react will not be a pain though.

Once again thanks for such a great tool. How I wish Microsoft officially acquired Serenity to make it even bigger and better.

Support,But changed to react, jquery ui can also be used?

I believe typescript is the future also :)

We never use saltarelle. For me typescript is ok :)

I agree with you: Saltarelle is definitely dead and I don't see any reason to worry about backward compatibility.
I've already migrated all my previous works to Typescript so for me it's fine to phase out Saltarelle even tomorrow!
I don't know so much React and honestly I don't know which are the advantage compared to jQuery, but I'm sure that you've good reasons to do that so, again, for me it's fine: just let us know about the impact of such change!

Hi @volkanceylan ,
I got used to typescript and I like how everything is now nicely integrated into one project - not two (as in Saltarelle). --> Therefore just drop Saltarelle Support :-)

Question: Will the switch to react mean that the standard dialog (iQuery UI dialog) will disappear from Serenity? (Because I like the clear visibility of standalone, modal, properly sizable Dialog window elements compared to the integrated dialogs I have recently seen within Serenity :-)

With kind regards,

John

As Typescript integrated with React is an effort Microsoft is doing and supporting and React will be here for a few years.... I believe it's a good path as will also make you new customers as it's praised like the new clever kid on the block for a while now. Maybe a cannon to kill a fly if no one use it beyond presentation, but a good choice as it forces one to really learn this layer and make better coding... as jquery can be really hard to manage if you want something beyond simple things....

Best Regards

I wont be removing jQueryUI yet but its too big and obsolete widget library that we should leave behind one day. Anyway, will try to find an alternative for dialogs in that case.

Your existing code will continue to work, but i will try to share code between React and classic widgets, so some direct DOM manipulations might have side effects as React expects to be in control. I've implemented toolbar and property grid in React with common code so far.

Seems like no one uses Saltaralle, but i'm sure there are some who doesnt visit here yet. Anyway they can still use older versions.

Hi @volkanceylan. Firstly, let me say thanks for all your work & energy to create and maintain Serenity & for seeking feedback.

I don't reckon you'll get many complaints about removing Saltarelle and your 100% right that switching to Typescript was a great decision!!

React vs Vue doesn't matter in my opinion, as long as it reduces complexity and helps flatten the learning curve.

At the risk of going off topic, I'd like to make another suggestion. Agree getting rid of JQueryUI is priority & I'd argue for reducing the use of dialogs altogether. Opening an Entity Dialog as a panel should be the default behavior and a decorator used to open in separate dialog.

Also suggest you take this opportunity to evaluate & adopt one of the popular UI design languages to further simplify e.g. Material Design, MDL, Fabric (licensing???) etc.

Thanks again.

P.S. I'd be happy to contribute in any capacity you need. I've learned far more about Serenity than I initially intended when I started out 2 years ago, but I'm glad I did.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Akarsh03 picture Akarsh03  路  3Comments

Amitloh picture Amitloh  路  3Comments

dkontod picture dkontod  路  3Comments

JohnRanger picture JohnRanger  路  3Comments

ahsansolution picture ahsansolution  路  3Comments