-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathstate_of_graphql.yml
488 lines (435 loc) · 20 KB
/
state_of_graphql.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
locale: ro-RO
namespace: graphql
translations:
###########################################################################
# General
###########################################################################
- key: general.state_of_graphql.intro
t: |
Începând cu momentul în care a fost creat de Facebook în septembrie 2015, mulți programatori au adoptat GraphQL drept o nouă și promițătoare modalitate de a construi API-uri.
Cu toate astea, rămân o mulțime de întrebări: când mai exact ai nevoie de GraphQL? Ar trebui să configurezi manual API-ul GraphQL sau să-l generezi din baza de date? Va înlocui vreodată REST?
Sondajul anual State of GraphQL își propune să răspundă la aceste întrebări și la multe altele!
- key: general.state_of_graphql.description
t: Sondajul anual al programatorilor cu privire la ecosistemul GraphQL
###########################################################################
# Survey
###########################################################################
- key: features.graphql_features_intro
t: >
Bun venit! În această primă parte ne dorim să înțelegem
care sunt **funcționalitățile** GraphQL despre care știi.
Iar dacă știi despre una dintre ele, dar nu ai folosit-o încă, e bine și așa!
- key: tools.graphql_tools_intro
t: >
Următoarele secțiuni se concentrează pe **librăriile** și **serviciile** care alcătuiesc
ecosistemul GraphQL. Spune-ne ce te-a entuziasmat!
- key: usage.bracket_intro
t: >
Următoarea întrebare are un format special de tip **bracket**. În fiecare confruntare, alege varianta
pe care o consideri cea mai importantă pentru tine (alăturările sunt aleatorii pentru fiecare respondent).
###########################################################################
# Sections
###########################################################################
- key: sections.graphql_language.title
t: Limbă
- key: sections.graphql_language.description
t: Vocabularul GraphQL.
- key: sections.directives.title
t: Directive
- key: sections.directives.description
t: Augmentarea câmpurilor GraphQL.
- key: sections.security_performance.title
t: Securitate & performanță
- key: sections.security_performance.description
t: Crearea unui API mai robust.
- key: sections.other_features.title
t: Alte funcționalități
- key: sections.graphql_servers.title
t: Servere GraphQL
- key: sections.graphql_servers.description
t: Cum să-ți îmbunătățești API-ul.
- key: sections.graphql_clients.title
t: Clienți GraphQL
- key: sections.graphql_clients.description
t: Interogarea API-ului tău.
- key: sections.api_generators.title
t: Generatoare API
- key: sections.api_generators.description
t: ORM-uri, CMS-uri și alte instrumente care creează un API pentru tine.
- key: sections.web_frameworks.title
t: Framework-uri web
- key: sections.web_frameworks.description
t: Framework-uri web pe care le folosești împreună cu GraphQL.
- key: sections.graphql_code_generators.title
t: Generatoare de cod și scheme
- key: sections.graphql_code_generators.description
t: Generatoare, constructori de scheme și alte librării care scriu o parte din cod pentru tine.
- key: sections.schema_builders.title
t: Constructori de scheme
- key: sections.schema_builders.description
t: Librării și utilitare care te ajută să creezi întreaga sau o parte din schema GraphQL.
- key: sections.usage_graphql.title
t: Utilizare GraphQL
- key: sections.usage_graphql.description
t: Cum folosești GraphQL.
- key: sections.tools_others.title
t: Alte instrumente
- key: sections.tools_others.description
t: Alte instrumente GraphQL.
- key: sections.resources_graphql.title
t: Resurse
- key: sections.resources_graphql.description
t: Ce resurse GraphQL consulți?
###########################################################################
# Features
###########################################################################
# common features
- key: features.custom_directives
t: Directive custom
- key: features.custom_scalars
t: Scalări custom
- key: features.fragments
t: Fragmente
- key: features.unions
t: Uniuni
- key: features.interfaces
t: Interfețe
# directives
- key: features.at_skip
t: '@skip'
- key: features.at_include
t: '@include'
- key: features.at_deprecated
t: '@deprecated'
- key: features.at_specified_by
t: '@specifiedBy'
- key: features.at_defer
t: '@defer'
- key: features.at_stream
t: '@stream'
# security & performance
- key: features.persisted_queries
t: Persisted Queries
- key: features.query_allowlisting
t: Query Allow-listing
- key: features.query_allowlisting.description
t: Accepți doar interogări dintr-o listă predefinită.
- key: features.query_timeouts
t: Query Timeouts
- key: features.query_rate_limit
t: Query Rate Limiting
- key: features.query_depth_limit
t: Query Depth Limiting
- key: features.query_amount_limit
t: Query Amount Limiting
- key: features.query_amount_limiting.description
t: Plafonarea oricărei paginații transmise ca argument de interogare.
- key: features.query_cost_analysis
t: Analiza costurilor de interogare
- key: features.query_cost_analysis.description
t: Analiza unui set de factori înainte de a decide dacă se permite o anumită interogare.
- key: features.disabling_introspection
t: Disabling Introspection
- key: features.disabling_introspection.description
t: Disabling introspection in production.
- key: features.ip_allowlisting
t: IP Allow-listing
- key: features.ip_allowlisting.description
t: Only allowing a predefined set of IP addresses to access an API.
- key: features.require_authentication
t: Necesitatea autentificării
- key: features.require_authentication.description
t: Solicitarea autentificării înainte de a oferi orice fel de acces la API.
# other features
- key: features.graphql_subscriptions
t: GraphQL Subscriptions
- key: features.live_queries
t: Live Queries
- key: features.apollo_federation
t: Apollo Federation
- key: features.schema_stitching
t: Schema Stitching
###########################################################################
# Tools
###########################################################################
- key: tools.no_client
t: Niciun client
- key: tools.no_client.description
t: Niciun client GraphQL dedicat (request-uri HTTP brute cu Fetch, Axios etc.)
###########################################################################
# Other Tools
###########################################################################
- key: tools_others.server_languages
t: Limbaje server
- key: tools_others.server_languages.description
t: Ce limbaj(e) folosești pentru a scrie back-end-ul tău GraphQL?
- key: tools_others.server_languages.others
t: Alte limbaje server
- key: tools_others.combining_schemas
t: Combinarea schemelor
- key: tools_others.combining_schemas.description
t: Ce instrumente folosești pentru a combina, agrega și îmbina scheme GraphQL pentru diferite API-uri?
- key: tools_others.combining_schemas.others
t: Alte instrumente pentru combinarea schemelor
- key: tools_others.graphql_ides
t: IDE-uri GraphQL
- key: tools_others.graphql_ides.description
t: Aplicații și servicii care te ajută să interoghezi API-ul GraphQL.
- key: tools_others.graphql_ides.others
t: Alte IDE-uri GraphQL
- key: tools_others.web_frameworks
t: Framework-uri web
- key: tools_others.web_frameworks.description
t: Framework-uri web pe care le folosești împreună cu GraphQL.
- key: tools_others.web_frameworks.others
t: Alte framework-uri web
- key: tools_others.databases
t: Baze de date
- key: tools_others.databases.description
t: Ce baze de date folosești împreună cu GraphQL?
- key: tools_others.databases.others
t: Alte baze de date
- key: tools_others.other_tools
t: Alte instrumente GraphQL
- key: tools_others.other_tools.description
t: Alte instrumente, librării sau servicii pe care le folosești
- key: tools_others.other_tools.others
t: Alte instrumente GraphQL care nu au fost menționate
###########################################################################
# Usage
###########################################################################
- key: usage.graphql_experience
t: Experiența cu GraphQL
- key: usage.graphql_experience.description
t: De cât timp folosești GraphQL?
- key: usage.api_type
t: Tipuri de API-uri
- key: usage.api_type.description
t: Pentru ce tip de API-uri folosești GraphQL?
- key: usage.api_type.others
t: Alte tipuri de API-uri
- key: usage.client_type
t: Clienți API
- key: usage.client_type.description
t: Ce tip de clienți se conectează la API-urile tale?
- key: usage.client_type.others
t: Alte tipuri de clienți
- key: usage.data_sources
t: Surse de date
- key: usage.data_sources.description
t: Ce fel de surse de date sunt consumate de API-urile tale GraphQL?
- key: usage.data_sources.others
t: Alte surse de date
- key: usage.code_generation_type
t: Tip de generare cod
- key: usage.code_generation_type.description
t: Dacă folosești generarea de cod, ce abordare preferi?
- key: usage.code_generation_type.others
t: Alte tipuri de generare cod
- key: usage.code_generation_target
t: Code Generation Target
- key: usage.code_generation_target.description
t: Care parte a codebase-ului o generezi programatic?
- key: usage.code_generation_target.others
t: Alte code generation targets
- key: usage.industry_sector_graphql
aliasFor: usage.industry_sector
- key: usage.industry_sector_graphql.description
t: În ce industrii folosești GraphQL?
- key: usage.industry_sector_graphql.others
aliasFor: usage.industry_sector.others
- key: usage.graphql_strong_points
t: Puncte forte în GraphQL
- key: usage.graphql_strong_points.description
t: Care sunt motivele principale pentru care îți place să folosești GraphQL?
- key: usage.graphql_strong_points.others
t: Alte puncte forte în GraphQL
- key: usage.graphql_pain_points
t: Puncte slabe în GraphQL
- key: usage.graphql_pain_points.description
t: Care sunt aspectele principale care îți dau bătăi de cap când folosești GraphQL?
- key: usage.graphql_pain_points.others
t: Alte puncte slabe în GraphQL
- key: happiness.graphql_servers
t: Cât de mulțumit(ă) ești de starea generală a serverelor GraphQL?
- key: happiness.graphql_clients
t: Cât de mulțumit(ă) ești de starea generală a clienților GraphQL?
- key: happiness.api_generators
t: Cât de mulțumit(ă) ești de starea generală a generatoarelor GraphQL?
- key: happiness.schema_builders
t: Cât de mulțumit(ă) ești de starea generală a constructorilor de scheme?
- key: happiness.state_of_graphql
t: Cât de mulțumit(ă) ești de starea generală a ecosistemului GraphQL?
###########################################################################
# Opinions
###########################################################################
# - key: opinions.graphql_better_than_rest
# t: GraphQL is superior to REST
# - key: opinions.always_prefer_graphql_apis
# t: I always prefer working with GraphQL APIs
###########################################################################
# Resources
###########################################################################
- key: resources.first_steps_graphql
t: Primii pași în GraphQL
- key: resources.first_steps_graphql.description
t: Cum ai învățat GraphQL atunci când erai la început de drum?
- key: resources.first_steps_graphql.others
t: Alte metode de învățare folosite la început
# sites & courses
- key: resources.sites_courses_graphql
aliasFor: resources.sites_courses
- key: resources.sites_courses_graphql.description
t: Ce site-uri/cursuri/etc. folosești pentru a învăța despre GraphQL?
# podcasts
- key: resources.podcasts_graphql.others
aliasFor: resources.podcasts
- key: resources.podcasts_graphql.others.description
t: Ce podcast-uri despre GraphQL asculți?
# people
- key: resources.people_graphql.others
aliasFor: resources.people
- key: resources.people_graphql.others.description
t: Persoane pe care le citești, urmărești sau pe care vrei să le aduci în atenția noastră pentru activitatea lor în ecosistemul GraphQL.
###########################################################################
# Options
###########################################################################
- key: options.graphql_experience.range_less_than_1
t: Mai puțin de un an
- key: options.graphql_experience.range_1_2
t: Între 1 și 2 ani
- key: options.graphql_experience.range_3_5
t: Între 3 și 5 ani
- key: options.graphql_experience.range_6_10
t: Între 6 și 10 ani
- key: options.graphql_experience.range_more_than_10
t: Mai mult de 10 ani
- key: options.api_type.public_apis
t: API-uri disponibile public destinate programatorilor terți
- key: options.api_type.personal_apis
t: API-uri expuse destinate website-urilor și/sau aplicațiilor proprii
- key: options.api_type.private_apis
t: APi-uri private, neexpuse pentru uz intern
- key: options.client_type.browsers
t: Browsere
- key: options.client_type.mobile_devices
t: Aplicații mobile native
- key: options.client_type.desktop_apps
t: Aplicații desktop native
- key: options.client_type.other_servers
t: Alte servere
- key: options.data_sources.static_files
t: Fișiere statice (YAML, Markdown etc.)
- key: options.data_sources.databases
t: Baze de date
- key: options.data_sources.spreadsheets
t: Spreadsheet-uri
- key: options.data_sources.cmses
t: CMS-uri
- key: options.data_sources.rest_apis
t: API-uri REST (Swagger/OpenAPI, json-schema, oData etc.)
- key: options.data_sources.other_graphql_apis
t: Alte API-uri GraphQL
- key: options.data_sources.other_api_protocols
t: Alte protocoale API (gRPC, SOAP, Apache Thrift etc.)
- key: options.code_generation_type.code_first
t: Code-first (JS, TS, JSON etc.)
- key: options.code_generation_type.schema_first
t: Schema-first (GraphQL SDL-first)
- key: options.code_generation_type.database_first
t: Database-first
- key: options.code_generation_target.graphql_schema
t: GraphQL schema (SDL)
- key: options.code_generation_target.non_graphql_typings
t: Non-GraphQL (e.g. TypeScript) typings
- key: options.code_generation_target.server_resolvers
t: Server resolvers
- key: options.code_generation_target.fragments_or_queries
t: Client-side fragments and/or queries
- key: options.code_generation_target.client_code
t: Other client-side code (e.g. React hooks)
- key: options.graphql_strong_points.avoiding_overfetching
t: Avoiding Over-fetching
- key: options.graphql_strong_points.avoiding_overfetching.description
t: Păstrează răspunsurile API-ului mai mici specificând clar datele de care ai nevoie.
- key: options.graphql_strong_points.introspection
t: Introspecție și documentare API
- key: options.graphql_strong_points.introspection.description
t: Creează documentație proprie a API-urilor pentru a îmbunătăți experiența programatorilor.
- key: options.graphql_strong_points.tooling_ecosystem
t: Instrumente și ecosistem
- key: options.graphql_strong_points.tooling_ecosystem.description
t: Diferitele instrumente, servicii și librării care folosesc GraphQL.
- key: options.graphql_strong_points.type_checking
t: Type-checking
- key: options.graphql_strong_points.type_checking.description
t: Aplicarea și validarea tipurilor pentru fiecare obiect al API-ului.
- key: options.graphql_strong_points.api_aggregation
t: Combinarea diferitelor API-uri
- key: options.graphql_strong_points.api_aggregation.description
t: Abilitatea de a combina diferite scheme API.
- key: options.graphql_strong_points.aggregating_requests
t: Agregarea request-urilor
- key: options.graphql_strong_points.aggregating_requests.description
t: Crearea unui singur request de la client.
- key: options.graphql_strong_points.community
t: Comunitate
- key: options.graphql_strong_points.community.description
t: Persoane care sunt active în spațiul GraphQL.
- key: options.graphql_strong_points.fragment_colocation
t: Fragment Colocation
- key: options.graphql_strong_points.fragment_colocation.description
t: Being able to colocate a component's data requirements next to it.
- key: options.graphql_pain_points.performance
t: Performanță
- key: options.graphql_pain_points.performance.description
t: Aspecte de performanță cum ar fi problema n+1.
- key: options.graphql_pain_points.security
t: Securitate
- key: options.graphql_pain_points.security.description
t: Probleme de securitate cum ar fi interogările infinite nested
- key: options.graphql_pain_points.combining_schemas
t: Combinarea diferitelor scheme
- key: options.graphql_pain_points.combining_schemas.description
t: Posibilitatea de a combina diferite scheme API.
- key: options.graphql_pain_points.api_versioning
t: Versionarea API-urilor
- key: options.graphql_pain_points.api_versioning.description
t: Gestionarea câmpurilor vechi și a altor probleme legate de versionare.
- key: options.graphql_pain_points.file_upload
t: Încărcare fișiere
- key: options.graphql_pain_points.file_upload.description
t: Posibilitatea de a încărca fișiere cu ajutorul API-ului tău GraphQL.
- key: options.graphql_pain_points.testing
t: Testare
- key: options.graphql_pain_points.testing.description
t: Testarea API-ului tău GraphQL.
- key: options.graphql_pain_points.error_handling
t: Error Handling
- key: options.graphql_pain_points.error_handling.description
t: Returnarea erorilor și gestionarea lor pe client.
- key: options.graphql_pain_points.client_side_caching
t: Client-side Caching
- key: options.graphql_pain_points.client_side_caching.description
t: Caching pe client, actualizarea cache-ului, UI optimistic etc.
# learning methods
- key: options.first_steps_graphql.books
t: Cărți
- key: options.first_steps_graphql.videos
t: Video-uri și screencast-uri
- key: options.first_steps_graphql.school
t: Școală și învățământ superior
- key: options.first_steps_graphql.courses_free
t: Cursuri online (gratuite)
- key: options.first_steps_graphql.courses_paid
t: Cursuri online (contra-cost)
- key: options.first_steps_graphql.podcasts
t: Podcast-uri
- key: options.first_steps_graphql.bootcamp
t: Bootcamp de programare
- key: options.first_steps_graphql.on_the_job
t: Training la locul de muncă
- key: options.first_steps_graphql.self_directed
t: Învățare autodidactă (Google, Stack Overflow etc.)
- key: options.first_steps_graphql.mentoring
t: Mentorat