go-siris / siris

DEPRECATED: The community driven fork of Iris. The fastest web framework for Golang!
Other
142 stars 16 forks source link

TEAM: API-Definition #16

Closed godofdream closed 7 years ago

godofdream commented 7 years ago

In the history the api of iris changed multiple times. Most of these changes were completly unnecessary, e.g. v6->v7 Render->View

  1. We should decide a stable api and keep backwards compatibility.
  2. We should mark any new APIs as experimental if it may change in future. (also stable ones as stable)
  3. We should decide if we recreate compatibility with v6.
  4. We should also decide a default configuration and document. e.g.
gzip-9 enabled, 
encoding utf8, 
brotli-5 enabled, 
port_reuse enabled (if possible),
quic enabled (if certificates are available)
bliuchak commented 7 years ago

@godofdream could you please tell more about p.3 "recreate compatibility with v6"?

Dexus commented 7 years ago

I would not make any compatibility to v6. The "opensource" iris we can update, to a functional version and maintain it, when it is need...

But I would like to strict take both different.

Von meinem iPhone gesendet

Am 25.06.2017 um 12:28 schrieb Iurii Bliuchak notifications@github.com:

@godofdream could you please tell more about p.3 "recreate compatibility with v6"?

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub, or mute the thread.

godofdream commented 7 years ago

@threestarsgenius there were many changes in the v7 api that broke applications for users of v6. e.g. Render became View func(ctx *iris.Context) became func(ctx context.Context)

@Dexus I agree with you. Siris is not Iris. Anyway I will Prepare a PullRequest where I will mark functions as stable which will not change, or should not change.

Dexus commented 7 years ago

@godofdream we can make v7 compatible but like siris_depreciated.go

Dexus commented 7 years ago

@godofdream you are right, SIRIS is not Iris. I like to see your PR, and then we can discuss more about that. I just have no clue what you mean in detail, with "mark". But I'll see.

godofdream commented 7 years ago

@Dexus Do you know how RUST or kubernetes handles their API ? They have a stable API which will not change, anything that may change is called experimental or beta. My Propose is to add (API stable) or (API experimental) to all the godocs

Dexus commented 7 years ago

@godofdream no I'm not know so much about ther API-Definition or management, but now I got it. Thanks.