You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Well, at a first look it seems that the Catberry application consists of a bunch of various nodejs-like modules that will be rendered by server (and somehow packed for client). Also there is a small piece of server code that serves all the components.
We can choose any technology we like to implement this, but there may be some problems. I'll introduce you the most realistic and painless options I see.
JavaScript. Fuck that idea, I will never kindly use it.
ES6. That's more interesting but it is the same old JavaScript with some improvements. Node.js today don't support it but we can use a translator to compile ES6 to node-supported ES5. IMHO it can be used bit only as last resort when all other options fails.
Scala.js. It is interesting option when you want to implement some really complex algorithms. In all other cases I think it could be too overengineered. Is has a big overhead comparing to native JS. Also there is a problem with debug - generated code is very long and trust me, you will not find even a piece of your written code in that gigantic generated JS bundle.
And as we want to deploy and debug server code too (maybe even in some weird nodejs environments) this becomes a problem for us.
CoffeeScript. Mr @Svoloch would like it but personally I can see only little improvements over native JS. But at a good side it generated clean and debuggable code. I think currently it could even be preferred over ES6.
TypeScript. I really like that and see no problems with writing code in it. It has strict enough type system and the generated code is also very clean and can be easily debugged.
Purescript. As a last and funny option, I propose using of a Haskell-inspired Purescript language. It is nice but fuck the hell if I know how we will write our application with it. We may try though if you feel funny mood.
Personally I'd choose number 5 but I think that I'm a little biased here so let's discuss them all.
Activity
rexim commentedon May 4, 2015
Related to #112
rexim commentedon May 4, 2015
@ForNeVeR so what are we going to use as a client side language? Scala.js again?
ForNeVeR commentedon May 4, 2015
Well, at a first look it seems that the Catberry application consists of a bunch of various nodejs-like modules that will be rendered by server (and somehow packed for client). Also there is a small piece of server code that serves all the components.
We can choose any technology we like to implement this, but there may be some problems. I'll introduce you the most realistic and painless options I see.
JavaScript. Fuck that idea, I will never kindly use it.
ES6. That's more interesting but it is the same old JavaScript with some improvements. Node.js today don't support it but we can use a translator to compile ES6 to node-supported ES5. IMHO it can be used bit only as last resort when all other options fails.
Scala.js. It is interesting option when you want to implement some really complex algorithms. In all other cases I think it could be too overengineered. Is has a big overhead comparing to native JS. Also there is a problem with debug - generated code is very long and trust me, you will not find even a piece of your written code in that gigantic generated JS bundle.
And as we want to deploy and debug server code too (maybe even in some weird nodejs environments) this becomes a problem for us.
CoffeeScript. Mr @Svoloch would like it but personally I can see only little improvements over native JS. But at a good side it generated clean and debuggable code. I think currently it could even be preferred over ES6.
TypeScript. I really like that and see no problems with writing code in it. It has strict enough type system and the generated code is also very clean and can be easily debugged.
Purescript. As a last and funny option, I propose using of a Haskell-inspired Purescript language. It is nice but fuck the hell if I know how we will write our application with it. We may try though if you feel funny mood.
Personally I'd choose number 5 but I think that I'm a little biased here so let's discuss them all.
rexim commentedon May 4, 2015
@ForNeVeR thank you very much for such a great detailed review! I'm ok with TypeScript. :)