Re: [akka-user] Akka Stream and Http 2.0-M1 Released!

2015-11-17 Thread Roland Kuhn
We’re working on the client’s richness as well as the server’s performance, 
important groundwork was laid in 2.0-M1 in order to get things done within the 
upcoming weeks. Stay tuned and check out the next milestones :-)

Regards,

Roland

> 16 nov 2015 kl. 22:54 skrev Jim Hazen :
> 
> With these latest foundational changes, is akka-http 2.0 intended to be the 
> 'spray parity' release?  If not, is there a roadmap for an akka-http client 
> as rich as Spray's and akka-http server as performant as Spray's?
> 
> -- 
> >> Read the docs: http://akka.io/docs/ 
> >> Check the FAQ: 
> >> http://doc.akka.io/docs/akka/current/additional/faq.html 
> >> 
> >> Search the archives: https://groups.google.com/group/akka-user 
> >> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to akka-user+unsubscr...@googlegroups.com 
> .
> To post to this group, send email to akka-user@googlegroups.com 
> .
> Visit this group at http://groups.google.com/group/akka-user 
> .
> For more options, visit https://groups.google.com/d/optout 
> .



Dr. Roland Kuhn
Akka Tech Lead
Typesafe  – Reactive apps on the JVM.
twitter: @rolandkuhn
 

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


[akka-user] Akka Stream and Http 2.0-M1 Released!

2015-11-06 Thread Martynas Mickevičius
*Dear Hakkers*

we—the Akka committers—are very pleased to announce Akka Streams & HTTP
2.0-M1, the first milestone of the upcoming 2.0 release. The overarching
theme of this milestone is unification, both in internals and API. Thanks
go to all of you who tried out Streams & HTTP 1.0, your feedback—both
direct and indirect—has been instrumental in making this library more
accessible and intuitive to use.

There have been several changes in user facing APIs mostly driven by two
goals. First, reducing the number of overloaded methods helps IDEs and
compilers for both Scala and Java (especially Java 8), leads to more
meaningful error messages, and also makes discovery of methods easier via
API documentation or code completion. Second, we reduced the different ways
certain tasks can be achieved by reducing the number of helper methods,
taking away potentially confusing choices. While this means that in certain
cases the amount of boilerplate has grown slightly, the APIs reflect more
directly the underlying uniform model and hence feel more consistent than
before. Some highlights of these changes are (for the full list see the
migration guide for Java

 and Scala

):

   - Methods for creating Flows, Sources etc. from Graphs are now called
   fromGraph instead of wrap.
   - The number of FlowGraph builder methods has been reduced to the
   necessary minimum.
   - In the Scala DSL the only graph building API is the arrow ~> notation,
   the edge-based alternative (more klunky) API has been removed.
   - Creating Flows, Sources, etc. from Graphs now can be only done in two
   steps, first creating the Graph, then using fromGraph to turn it into the
   desired target type. The second step is only necessary when subsequently
   using the combinators defined on the Source/Flow types, reuse of processing
   setups is better done using the language-agnostic Graph type.

*For the full list of changes see the Github milestone
 and
http-2.0-M1
*

On the internals front the most important change is that we removed almost
all of the custom actor-based stage implementations, thanks to a new
abstraction called *GraphStage*. GraphStage is a new user API that replaces
FlexiMerge, FlexiRoute and AsyncStage. Compared to the previous
abstractions GraphStage is capable of modeling a stage with any number of
input and output ports and asynchronous notifications and without the
limitations that the FlexiMerge/FlexiRoute implementations suffered. A
testament to the flexibility and usefulness of this new stage design is
that nearly all of the built-in stages are now GraphStage based
implementations (with the remaining ones being scheduled to be
rewritten—there is no reason why dedicated actors are still needed given
the expressive power of GraphStage). A fun fact is that this rewrite also
resulted in 29% jar size reduction compared to the 1.0 artifact while
having more features than ever before.

The new GraphStage already enabled us to unify and simplify a large amount
of internal code, it also provides a richer customization API for users for
building new stages, but this is just the beginning! This new abstraction
is the first step towards a very important goal we have, which is called
*fusing*. This feature will allow declarative demarcation of actor
boundaries backing a streaming graph, i.e. it will be now possible to
execute multiple stream processing steps inside one actor, reducing the
number of thread-hops where they are not necessary. This is also the
feature that will increase performance for various use cases, including
HTTP.

On the Akka HTTP front much has happened as well. The documentation is now
mostly complete and several API, marshalling as well as configuration
improvements have been merged as well.

We hope that this evolution of Akka Streams & HTTP goes into the right
direction, enabling Java and Scala developers to pick up this library as a
tool that is universally useful in their day to day coding. To this end we
continue to depend on all your excellent and honest feedback, so please try
it out!

We would like to give our special thanks and kudos to Alexander Golubev,
who has been contributing a steady stream of high quality, and often
non-trivial pull requests to Akka Streams. Thanks!

Similarly, we would like to give a huge thanks and kudos to @2beaucoup, a
long-time Spray contributor, who has been helping Akka HTTP succeed with
his excellent in-depth insights and non-trivial pull requests. Thank you
very much!

For this release we had the help of 30 committers.

6354691117 Johannes Rudolph
4657471609 Konrad Malawski
233331 688 Alexander Golubev
17