Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decide what library/framework are we going to use for the client #5

Closed
eperinan opened this issue Aug 24, 2017 · 8 comments
Closed
Assignees
Labels
Milestone

Comments

@eperinan
Copy link
Contributor

In this sprint, we would have ready a small PoC in the client side with some feature related with streams. Previous of it, we would need know what library or framework of Javascript or another language, we are going to use.

I think that we could put our recommendations in this issue and then compare and decide which we will choose us.

What do you think @calvellido ?

@eperinan eperinan added this to the Sprint 5 milestone Aug 24, 2017
@calvellido
Copy link
Contributor

calvellido commented Aug 24, 2017

I have a totally opinionated stake towards Angular, as I find the generated code through it on mid-large projects being more maintainable than React built one, probably due to TypeScript, and specially because I personally can't get the JSX a.k.a. markup included in JS. But as I say, my opinion could be intoxicated as my real experience with React only includes a project, while my relationship with Angular is longer.

Anyway, I guess this decision is also a strategic move for the company and should be aligned with the company vision and the programming models that the company fosters.

In this IMO great article analyzing these kind of decisions, they conclude that the actual decision to make, is to choose which programming paradigm we want to rely on. Not that you can't go functional with Angular (taking advantage of libraries like ngrx), but the approach on how web applications should be constructed is definitely different than React (or React ecosystem) take on this.

https://codeburst.io/angular-vs-react-which-is-better-for-web-development-e0dd1fefab5b

On a final note, I think that given the React license and the implications surrounding it, could be better to go with a React API compatible library instead of Facebook's React, as for example Preact, but maybe @raulraja could advise us better on this point.

@eperinan
Copy link
Contributor Author

In my case, I think that we should use ReactJS for several reasons but I am totally agree with your thoughts related with the company.

@raulraja
Copy link

raulraja commented Sep 4, 2017

We have no issues on using Angular for this project. The React license is at this moment an issue and we are going to stay away from it for the time being.

I have nothing against Typescript and we can use that but I'd like you guys to consider https://github.com/greencatsoft/scalajs-angular to wire the biz logic in Scala.js. The main reason is that Freestyle is compatible with Scala.js and this is a good opportunity to put in practice in a real project and see what issues we may encounter. Also it would be good for you guys to get acquainted with other langs in use in the company beside Typescript or Javascript which you are already familiar with.

having said that if there is a compelling reason to use Typescript that is fine too. thoughts?

@eperinan
Copy link
Contributor Author

eperinan commented Sep 5, 2017

I totally agree with you @raulraja.

I was checking the repository that you sent us and another repository with one example where they use it in https://github.com/greencatsoft/scalajs-angular-todomvc.

After that, I was taking a look the current issues and the code and I found out that it´s the version 1 of Angular and the owner is not interested in upgrade the project to Angular 2. greencatsoft/scalajs-angular#39

Angular 1 is not Web Component based UI library so I think that it is not a good idea to use that.

@eperinan
Copy link
Contributor Author

eperinan commented Sep 5, 2017

Looking into Github, I have just found these projects https://github.com/jokade/angulate2 and https://github.com/jokade/angulate2-examples.

I am going to take a look to the examples and try to implement a small PoC with it.

This project use Angular 2 and ScalaJS, but only supports Scala 2.11.x. Is it a problem @raulraja ?

@raulraja
Copy link

raulraja commented Sep 5, 2017

yeah supporting only 2.11 would be a problem down the road. Let's not consider that framework then for now. There is also this jokade/angulate2#56 that would make it not work with current Typescript components. Let's not use Scala.js then for now and you two decide on something you are confortable with.

@calvellido
Copy link
Contributor

calvellido commented Sep 11, 2017

Hello, I was working on a small Angular PoC using polling to simulate the streaming, will update it to work with proper streams. Anyway, on data communication Angular relies heavily on RxJS, which I think is a very good fit for the project.

@calvellido
Copy link
Contributor

Let's go with this for now then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants