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

Add Scala API #1

Closed
jroper opened this issue Mar 10, 2016 · 106 comments
Closed

Add Scala API #1

jroper opened this issue Mar 10, 2016 · 106 comments
Milestone

Comments

@jroper
Copy link
Member

@jroper jroper commented Mar 10, 2016

Lagom needs a Scala API.

@pengfeiz
Copy link

@pengfeiz pengfeiz commented Mar 10, 2016

+1

11 similar comments
@lshoo
Copy link

@lshoo lshoo commented Mar 10, 2016

+1

@arunma
Copy link

@arunma arunma commented Mar 10, 2016

+1

@rysh
Copy link

@rysh rysh commented Mar 10, 2016

+1

@kushti
Copy link

@kushti kushti commented Mar 10, 2016

+1

@logistark
Copy link

@logistark logistark commented Mar 10, 2016

+1

@miklos-martin
Copy link

@miklos-martin miklos-martin commented Mar 10, 2016

👍

@rayyildiz
Copy link

@rayyildiz rayyildiz commented Mar 10, 2016

+1

@devsprint
Copy link

@devsprint devsprint commented Mar 10, 2016

+1

@inanna-malick
Copy link

@inanna-malick inanna-malick commented Mar 10, 2016

+1

@cenkcorapci
Copy link

@cenkcorapci cenkcorapci commented Mar 10, 2016

+1

@Vanco
Copy link

@Vanco Vanco commented Mar 10, 2016

+1

@gantamk
Copy link

@gantamk gantamk commented Mar 10, 2016

+9000000000000000L (withMagicBase)

@russwyte
Copy link

@russwyte russwyte commented Mar 10, 2016

:+1 Also please don't make Guice/JSR330 the norm - plain constructor DI is just fine thanks.

@renatocaval
Copy link
Member

@renatocaval renatocaval commented Mar 10, 2016

A little bit more than just a +1...

Is there are a draft already for the Scala API?
It would be nice to have it built / designed together with the community.

I've been working myself on a CQRS/ES library (www.funcqrs.io). Some of you were probably already aware of it. If not I invite you guys to have a look on it.
It has many similarities with Lagom persistence layer, but it's in Scala.

Although this may sound like a shameless plug for Fun.CQRS, my goal here is rather to start a discussion about the Scala API for Lagom.

I've spent a lot of time in tweaking and collecting feedback from the DDD community in order to refine Fun.CQRS' API and I think the same should happen with Lagom.

So, my question is: which Scala API do we want for Lagom, how does it should look like, which shape do we want it to have?

@Mullefa
Copy link

@Mullefa Mullefa commented Mar 10, 2016

+1

1 similar comment
@pathikrit
Copy link

@pathikrit pathikrit commented Mar 10, 2016

+1

@rkuhn
Copy link

@rkuhn rkuhn commented Mar 10, 2016

@rcavalcanti This seems to be a voting ticket, discussion will probably have to happen elsewhere ;-) Another consideration is that @jroper is a master troll :-D

@renatocaval
Copy link
Member

@renatocaval renatocaval commented Mar 10, 2016

@rkuhn I want to see the first one to down vote it. ;-)
Nice if the discussion is elsewhere as long as it is open.

@jroper
Copy link
Member Author

@jroper jroper commented Mar 10, 2016

-1

@rkuhn
Copy link

@rkuhn rkuhn commented Mar 10, 2016

There, see what you have done …

@jroper
Copy link
Member Author

@jroper jroper commented Mar 10, 2016

Well, somebody had to balance out @jamie-allen.

@mcpawali
Copy link

@mcpawali mcpawali commented Mar 11, 2016

+1

4 similar comments
@ng-swapna
Copy link

@ng-swapna ng-swapna commented Mar 11, 2016

+1

@mailmrmanoj
Copy link

@mailmrmanoj mailmrmanoj commented Mar 11, 2016

+1

@kankarsuresh
Copy link

@kankarsuresh kankarsuresh commented Mar 11, 2016

+1

@devidatta45
Copy link

@devidatta45 devidatta45 commented Mar 11, 2016

+1

@ianp
Copy link

@ianp ianp commented Mar 11, 2016

In the interest of cleaning up this issue, maybe all the folks who added “+1” or similar comments could delete them and add reactions instead?

@jpremkumar
Copy link

@jpremkumar jpremkumar commented Mar 11, 2016

+1

1 similar comment
@nagrajgudla
Copy link

@nagrajgudla nagrajgudla commented Mar 11, 2016

+1

patriknw added a commit that referenced this issue Oct 26, 2016
ClassTag instead of Class parameter, #1
patriknw referenced this issue in patriknw/lagom Oct 27, 2016
* for scaladsl-persistence and scaladsl-persistence-jdbc
* factory for PersistentEntity registration
* factory for ReadSide registration
* components trait for compile time DI
* separate traits for write and read side
* split up cluster module
* remove guice
patriknw referenced this issue in patriknw/lagom Oct 27, 2016
* for scaladsl-persistence and scaladsl-persistence-jdbc
* factory for PersistentEntity registration
* factory for ReadSide registration
* components trait for compile time DI
* separate traits for write and read side
* split up cluster module
* remove guice
patriknw added a commit that referenced this issue Oct 27, 2016
support for compile time dependency injection, #1
patriknw added a commit that referenced this issue Oct 28, 2016
* Access to session moved to core
* Scala API for cassandra
* Re-enabled PersistentEntityTestDriverSpec
* Use immutable.Seq import style
* Guice eliminated from the Cassandra scaladsl
patriknw referenced this issue in patriknw/lagom Oct 30, 2016
* The return type from PersistentEntityRef.ask was inferred to
  Future[Nothing]
* Add type member in ReplyType and use that in ask
* To make the CommandContext.reply method use the right type
  I changed the definition of the command handlers to be per
  command class, which also has several other benefits:
  * no need to pass the command as parameter to reply
  * defining handler per class is more natural than chaining
    one single partial function
  * easier to read (understand) the command handler definitions
    when the types are enforced
patriknw added a commit that referenced this issue Nov 2, 2016
infer right reply type in entityRef.ask, #1
patriknw added a commit that referenced this issue Nov 8, 2016
use ClassTag in PersistentEntityRegistry.refFor, #1
@sergevoloshyn
Copy link

@sergevoloshyn sergevoloshyn commented Nov 21, 2016

Hi!
I'm building a prototype using lagom and it's very critical for us to have scala api as well as to have compatibility with latest Scala 2.12.
Do you have a date when it will be ready? And will it be based on Scala 2.12?

@jroper
Copy link
Member Author

@jroper jroper commented Nov 21, 2016

The Scala API is nearing complete and we hope to release a milestone in the coming weeks. We haven't yet moved to Scala 2.12, on our critical path is getting a release of Play that is built against 2.12. They haven't yet built against Scala 2.12, but they are working on it here:

playframework/playframework#6691

Once they do that, if they backport that to Play 2.5, then it should be no problems, otherwise we'll need to wait until Play 2.6 is released.

@jroper
Copy link
Member Author

@jroper jroper commented Nov 29, 2016

Update: Once #302 is merged, the Scala API will be mostly usable, the only major feature gap is pubsub which I'm working on right now and should be finished tomorrow.

Our plan is to release a milestone in the first week of December (next week). We did want to release the final by the end of the year, but I don't think that's a realistic amount of time, especially given that community feedback would be valuable and it will probably take longer than that to get meaningful feedback from the community, so our current plan is to release the final by the end of January.

@yannickdeturck
Copy link
Contributor

@yannickdeturck yannickdeturck commented Nov 29, 2016

Looking forward to it!

@Fabszn
Copy link
Contributor

@Fabszn Fabszn commented Nov 29, 2016

I am looking forward it too!!!!:))

@mseravalli
Copy link

@mseravalli mseravalli commented Dec 8, 2016

looking forward

@jroper
Copy link
Member Author

@jroper jroper commented Dec 9, 2016

We've just cut Lagom 1.3.0-M1 as a preview release of the Scala API:

http://www.lagomframework.com/blog/lagom-scala-api-preview.html

We would appreciate evaluators to check it out, and give us feedback. Note that there are things about this API that will change before we cut the final (due at the end of January), so we don't recommend using it in a production system yet.

@dpennell
Copy link

@dpennell dpennell commented Dec 29, 2016

Looks awesome so far. I'm building two new services with it and will probably convert a few more soon.

I assume that com.lightbend.lagom.scaladsl.testkit.ServiceTest is one of those testkit API's that isn't finished yet.

@jroper
Copy link
Member Author

@jroper jroper commented Jan 2, 2017

It is finished, you can find it if you build master from source, it's just not in the 1.3.0-M1 release.

@jroper jroper added this to the 1.3.0 milestone Jan 24, 2017
@jroper
Copy link
Member Author

@jroper jroper commented Jan 24, 2017

The Lagom Scala API, including documentation, is now complete. See http://www.lagomframework.com/blog/lagom-1-3-RC1.html for details.

@jroper jroper closed this Jan 24, 2017
mergify bot pushed a commit that referenced this issue Apr 30, 2019
Removes obsolete test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.