-
Notifications
You must be signed in to change notification settings - Fork 1
/
state_of_react.yml
622 lines (511 loc) · 23.8 KB
/
state_of_react.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
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
locale: en-US
translations:
###########################################################################
# General
###########################################################################
- key: general.state_of_react.intro
t: |
React está presente dende hai bastante tempo e está claro que é un dos frameworks de front-end dominantes.
Aínda así, React segue evolucionando a un ritmo acelerado e a comunidade está facendo todo o posible para manterse ao día.
Coa enquisa State of React, agardamos darlle sentido a esa evolución e axudar aos desenvolvedores a atopar o camiño entre o vasto ecosistema de React.
- key: general.state_of_react.description
t: A enquisa anual sobre o ecosistema de React
- key: features.features_intro_react
t: |
Benvida á enquisa! Esta primeira parte trata de descubrir
cal das API oficiais de React coñeces e usas.
Por certo, se queres dicirnos algo máis sobre calquera das túas respostas, só tes que premer na icona de comentar.
- key: tools.tools_intro_react
t: |
As seguintes seccións céntranse nas **bibliotecas** e **frameworks**
que compoñen o ecosistema React. Dinos que é o que máis che entusiasma!
# sections
- key: sections.main_apis.title
t: APIs principais
- key: sections.main_apis.description
t: Funcionalidades estables de React
- key: sections.hooks.title
t: Hooks
- key: sections.hooks.description
t: Os *hooks* que veñen incorporados en React
- key: sections.new_apis.title
t: Novas APIs
- key: sections.new_apis.description
t: Funcionalidades introducidas recentemente ou experimentais
- key: sections.component_libraries.title
t: Bibliotecas de compoñentes
- key: sections.component_libraries.description
t: Os bloques para construir a túa interface
- key: sections.state_management.title
t: Xestión do estado
- key: sections.state_management.description
t: Bibliotecas para xestionar o estado das aplicacións
- key: sections.data_loading.title
t: Carga de datos
- key: sections.data_loading.description
t: Utilidades para cargar e xestionar datos
- key: sections.back_end_infrastructure.title
t: Back-End e infraestrutura
- key: sections.back_end_infrastructure.description
t: Como compilar e servir a túa app
- key: sections.other_tools.title
t: Outras ferramentas
- key: sections.other_tools.description
t: Outras utilidades e bibliotecas de React
- key: sections.usage_react.title
t: Uso
- key: sections.usage_react.description
t: Como empregas React no teu día a día?
- key: tools.data_loading_heading
t: Bibliotecas de carga de datos
- key: tools.state_management_heading
t: Bibliotecas de xestion do estado
# features
- key: features.main_apis_pain_points
t: Inconvintes das APIs
- key: features.main_apis_pain_points.question
t: Cales son os principais inconvintes que te atopaches relacionados coas APIs mencionadas arriba?
- key: features.hooks_pain_points
t: Inconvintes dos *hooks*
- key: features.hooks_pain_points.question
t: Cales son os principais inconvites que te atopaches cos *hooks*?
- key: features.new_apis_pain_points
t: Inconvintes das novas APIs
- key: features.new_apis_pain_points.question
t: Cales son os principais inconvintes que te atopaches relacionados coas novas APIs?
# main features
- key: features.fragment.description
t: >
`<Fragment>`, tamén usado coa sintaxe `<>...</>`, permite agrupar elementos sen ter necesidade dun nodo que os envolva.
- key: features.profiler.description
t: >
`<Profiler>` permite medir o rendemento do renderizado dunha estrutura de React de forma programática.
- key: features.strictmode.description
t: >
`<StrictMode>` permite atopar bugs comúns nos teus componentes nos primeiros momentos durante a fase de desenvolvemento.
- key: features.createportal.description
t: >
`createPortal` permite renderizar algúns elementos fillos nun sitio diferente do DOM.
- key: features.createcontext.description
t: >
`createContext` permite crear un contexto que os componentes poden ler ou fornecer.
- key: features.forwardref.description
t: >
`forwardRef` permite que os compoñentes poidan expoñer un nodo do DOM ao seu compoñente pais usando unha referencia.
- key: features.lazy.description
t: >
`lazy` permite diferir a carga do código dun compoñente ata que é renderizado por primeira vez.
- key: features.memo.description
t: >
`memo` permite saltar o pre-renderizado dun compoñente mentres que as súas propiedades non cambien.
- key: features.createroot.description
t: >
`createRoot` permite crear a raíz onde mostrar os compoñentes de React dentro dun nodo DOM do navegador.
- key: features.hydrateroot.description
t: >
`hydrateRoot` permite ensinar os compoñentes de React dentro dun nodo DOM do navegador cuxo contido xa foi xerado previamente por `react-dom/server`.
# hooks
- key: features.usecallback.description
t: >
`useCallback` é un *hook* de React que permite cachear a definición dunha función entre re-renderizados.
- key: features.usecontext.description
t: >
`useContext` é un *hook* de React que permite ler e subscribirse ao contexto dende un componente.
- key: features.usedebugvalue.description
t: >
`useDebugValue` é un *hook* de React que permite engadir unha etiqueta a un *hook* personalizado no React DevTools.
- key: features.usedeferredvalue.description
t: >
`useDeferredValue` é un *hook* de React que permite diferir a actualización dunha parte da interface.
- key: features.useeffect.description
t: >
`useEffect` é un *hook* de React que permite sincronizar un componente cun sistema externo.
- key: features.useid.description
t: >
`useId` é un *hook* de React para a xeración de IDs únicos que se poden usar para atributos de accesibilidade.
- key: features.usememo.description
t: >
`useMemo` é un *hook* de React que permite cachear o resultado de certos cálculos entre re-renderizados.
- key: features.usereducer.description
t: >
`useReducer` é un *hook* de React que pertite engadir un *reducer* aos teus compoñentes.
- key: features.useref.description
t: >
`useRef` é un *hook* de React que permite referenciar un valor que non é necesario para o renderizado.
- key: features.usestate.description
t: >
`useState` é un *hook* de React que permite engadir unha variable de estado ao teu compoñente.
- key: features.usesyncexternalstore.description
t: >
`useSyncExternalStore` é un *hook* de React que permite subscribirse a un almacenamento externo.
- key: features.usetransition.description
t: >
`useTransition` é un *hook* de React que permite actualizar oo estado sen bloquear a interface.
# new features
- key: features.suspense.description
t: >
`<Suspense>` permite amosar un estado transitorio ata que o contido se acabe de cargar.
- key: features.use_hook.description
t: >
`use` é un *hook* de React que permite ler o valor dun recurso como unha promesa ou contexto.
- key: features.usetransition.description
t: >
`useTransition` é un *hook* de React que permite actualizar o estado sen bloquear a interface.
- key: features.starttransition.description
t: >
`startTransition` permite actualizar o estado sen bloquear a interface.
- key: features.react_server_components.description
t: >
Compoñentes que se executan exclusivamente no servidor.
- key: features.use_client.description
t: >
`'use client'` marca os arquivos cuxos compoñentes se executan de lado do cliente.
- key: features.use_server.description
t: >
`'use server'` marca as funcións de lado de servidor que poden ser executadas dende código do cliente.
- key: features.server_actions.description
t: >
Solución integrada de React para mutacións no servidor.
- key: features.taint_api.description
t: >
Evita que un obxecto ou valor específico se pase a un compoñente cliente.
- key: features.cache.description
t: >
`cache` permite cachear o resultado de obter un dato ou realizar un cálculo.
- key: features.useformstatus.description
t: >
`useFormStatus` é un *hook* que che da a información de estado do último formulario enviado.
- key: features.useformstate.description
t: >
`useFormState` é un *hook* que permite actualizar o estado en base ao resultado dunha acción dun formulario.
# tools
- key: tools.component_libraries_others
t: Otras bibliotecas
- key: tools.component_libraries_others.question
t: Que outras bibliotecas de compoñentes usaches algunha vez?
- key: tools.component_libraries_pain_points
t: Inconvintes dos compoñentes
- key: tools.component_libraries_pain_points.question
t: Que inconvintes principais atopaches relacionados cos compoñentes de React?
- key: tools.state_management_others
t: Outras bibliotecas de xestión do estado
- key: tools.state_management_others.question
t: Que outras bibliotecas usaches para xestionar o estado das túas apps?
- key: tools.state_management_pain_points
t: Inconvintes da xestión do estado
- key: tools.state_management_pain_points.question
t: Cales son os principais inconvintes que te atopaches relacionados coa xestión de estado?
# - key: tools.state_management_happiness
# t: Satisfacción
# - key: tools.state_management_happiness.description
# t: Como de satisfeito estas coas bibliotecas de xestión de estado?
- key: tools.data_loading_others
t: Outras bibliotecas de carga de datos
- key: tools.data_loading_others.question
t: Que outras bibliotecas de carga de datos empregaches algunha vez?
- key: tools.data_loading_pain_points
t: Inconvintes da carga de datos
- key: tools.data_loading_pain_points.question
t: Cales son os principais inconvintes que te atopaches relacionados coa carga de datos?
# - key: tools.data_loading_happiness
# t: Satisfacción
# - key: tools.data_loading_happiness.description
# t: Como de satisfeito estas coas bibliotecas para cargar datos?
- key: tools.meta_frameworks_others
t: Outros meta-frameworks
- key: tools.meta_frameworks_heading
t: Meta-frameworks
- key: tools.other_back_end_tools_heading
t: Outras ferramentas de back-end e servizos
- key: tools.back_end_infrastructure_pain_points
t: Inconvintes no back-end
- key: tools.back_end_infrastructure_pain_points.question
t: Que inconvintes atopaches relacionados co back-end e a infraestrutura?
- key: other_tools.testing
t: Bibliotecas de testaxe
- key: other_tools.testing.question
t: Que bibliotecas empregas para a testaxe das túas aplicacións React?
# - key: tools.testing_happiness
# t: Satisfacción
# - key: tools.testing_happiness.description
# t: Como de satisfeito estas co estado actual das ferramentas de testing?
- key: other_tools.mobile_development
t: Ferramentas de desenvolvemto móbil
- key: other_tools.mobile_development.question
t: Que bibliotecas empregaches para o desenvolvemento móbil?
# - key: tools.mobile_development_others
# t: Outras ferramentas de desenvolvemento móbil
# - key: tools.mobile_development_happiness
# t: Satisfacción
# - key: tools.mobile_development_happiness.description
# t: Como de satisfeito estas co estado actual do desenvolvemento para móbiles?
# other tools
- key: other_tools.form_libraries
t: Bibliotecas para formularios
- key: other_tools.form_libraries.question
t: Que bibliotecas empregas para xestionar formularios?
- key: options.form_libraries.na
t: Ningunha
- key: other_tools.build_tools
t: Ferramentas para compilar
# - key: other_tools.build_tools.description
# t: Ferramentas para compilar e bundlers.
- key: other_tools.build_tools.question
t: Que ferramentas para compilar empregas?
- key: other_tools.animation_libraries
t: Animación
# - key: other_tools.animation.description
# t: Bibliotecas para xestionar animacións e transicións.
- key: other_tools.animation_libraries.question
t: Que bibliotecas empregas para as animacións?
- key: other_tools.auth
t: Autenticación
# - key: other_tools.auth.description
# t: Bibliotecas e servizos para xestionar a autenticación e a conta.
- key: other_tools.auth.question
t: Que bibliotecas e servizos empregas para xestionar a autenticación?
- key: other_tools.data_visualization_libraries
t: Visualización de datos
# - key: other_tools.data_visualization.description
# t: Bibliotecas para visualizar datos e gráficas.
- key: other_tools.data_visualization_libraries.question
t: Que bibliotecas de visualización e xeración de gráficas empregas?
- key: other_tools.css_tools
t: Bibliotecas e ferramentas de CSS
# - key: other_tools.css_tools.description
# t: Bibliotecas CSS, frameworks e utilidades para aplicar estilos na túa aplicación React.
- key: other_tools.css_tools.question
t: Que bibliotecas ou frameworks empregas para aplicar estilos á túa aplicación de React?
- key: other_tools.other_frontend_frameworks
t: Outros frameworks de front-end
# - key: other_tools.other_frontend_frameworks.description
# t: >
# Outros frameworks de front-end cos que tiveches unha experiencia positiva
# ou tes interese en aprender.
- key: other_tools.other_frontend_frameworks.question
t: >
Que outros frameworks para front-end tes empregado?
- key: other_tools.hosting
t: Servizos de aloxamento
# - key: other_tools.hosting.description
# t: Servizos que usas para aloxar as túas aplicacións de React.
- key: other_tools.hosting.question
t: Que servizos de aloxamento empregaches para as túas aplicacións de React?
- key: other_tools.backend_language
t: Linguaxes back-end
- key: other_tools.backend_language.question
t: En cales das seguintes linguaxes están escritos o back-end das túas aplicacións?
- key: other_tools.other_services
t: Outros servizos
- key: other_tools.other_services.question
t: Que outros servizos usas coas aplicacións React
- key: other_tools.validation
t: Bibliotecas de esquemas e validación
- key: other_tools.validation.question
t: Que bibliotecas empregas para validar datos contra un esquema?
- key: other_tools.ai_tools
t: Ferramentas IA
- key: other_tools.ai_tools.question
t: Que ferramentas IA e servizos usas para escribir código en React?
- key: other_tools.renderers
t: Renderizar React
- key: other_tools.renderers.question
t: Que bibliotecas empregas para renderizar React a diferentes plataformas e entornos?
- key: other_tools.other_tools
t: Outras ferramentas
- key: other_tools.other_tools.question
t: Que outras ferramentas que usas para desenvolver aplicacións React.
# CSS
- key: options.css_tools.plain_css
t: CSS (plano, «vanilla» CSS)
# react pain points
- key: options.react_pain_points.rerenders
t: Xestión do re-renderizado de compoñentes
- key: options.react_pain_points.testing
t: Testing
- key: options.react_pain_points.data_loading
t: Carga de datos e operacións asíncronas
- key: options.react_pain_points.state_management
t: Xestión do estado (`useState`, Redux, Context, etc.)
- key: options.react_pain_points.bundle_sizes
t: Reducción dos tamaños do código resultante para navegador
- key: options.react_pain_points.server_rendering
t: Compoñentes que se renderizan no lado do servidor e «server components»
- key: options.react_pain_points.css_styling
t: CSS e estilos
- key: options.react_pain_points.attribute_names
t: Nomes de atributos «erróneos» como `className`, `htmlFor`, etc.
- key: options.react_pain_points.synthetic_events
t: Eventos sintéticos
- key: options.react_pain_points.ref_management
t: Xestión de Ref
- key: options.react_pain_points.memoization
t: Memoization
- key: options.react_pain_points.animations
t: Animacións e transicións
- key: options.react_pain_points.forms
t: Formularios
- key: options.react_pain_points.typescript
t: Falta de soporte oficial de TypeScript nativo
# usage type
- key: usage.react_usage_type
t: Uso de React
- key: usage.react_usage_type.question
t: En que contextos empregas principalmente React?
# react version
- key: usage.react_version
t: Versión de React
- key: usage.react_version.question
t: Que versión de React usas máis no día a día?
- key: options.react_version.react_v16x
t: 16.x
- key: options.react_version.react_v17x
t: 17.x
- key: options.react_version.react_v18x
t: 18.x
- key: options.react_version.react_canary
t: Canary
- key: options.react_version.not_sure
t: Non estou seguro
# JS App Patterns
- key: usage.js_app_patterns
t: Patróns de aplicación
- key: usage.js_app_patterns.question
t: Cales das seguintes arquitecturas e patróns de renderizado usaches **no último ano**?
- key: options.js_app_patterns.single_page_app
t: Single Page Application (SPA)
- key: options.js_app_patterns.single_page_app.description
t: Aplicacións que se executan completamente no navegador
- key: options.js_app_patterns.multiple_page_app
t: Multi-Page Application (MPA)
- key: options.js_app_patterns.multiple_page_app.description
t: Aplicacións que se executan completamente no lado do servidor, cuns mínimos comportamentos dinámicos de lado do cliente.
- key: options.js_app_patterns.static_site_generation
t: Static Site Generation (SSG)
- key: options.js_app_patterns.static_site_generation.description
t: Contido estático pre-renderizado, con ou sin elementos dinámicos de lado do cliente.
- key: options.js_app_patterns.server_side_rendering
t: Server-Side Rendering (SSR)
- key: options.js_app_patterns.server_side_rendering.description
t: Contido HTML renderizado dinamicamente no servidor antes de ser *rehidratado* no cliente
- key: options.js_app_patterns.partial_hydration
t: Hidratación parcial
- key: options.js_app_patterns.partial_hydration.description
t: Só se hidratan algúns compoñentes de lado do cliente (usando por exemplo *Server Components* de React)
- key: options.js_app_patterns.progressive_rehydration
t: Hidratación progresiva
- key: options.js_app_patterns.progressive_rehydration.description
t: Controlando a orde de hidratación do lado do cliente
- key: options.js_app_patterns.islands_architecture
t: Arquitectura de illas
- key: options.js_app_patterns.islands_architecture.description
t: Illas (*islands*) con comportamento dinámido e múltiples entradas dentro dun sitio estático (Astro, Eleventy)
- key: options.js_app_patterns.progressive_enhancement
t: Mellora progresiva
- key: options.js_app_patterns.progressive_enhancement.description
t: Asegurándote de que a aplicación é funcional incluso sen JavaScript
- key: options.js_app_patterns.incremental_static_generation
t: Xeración estática incremental
- key: options.js_app_patterns.incremental_static_generation.description
t: Ser capaz de aumentar ou modificar dinámicamente un sitio estático incluso despois do compilado inicial (Next.js ISR, Gatsby DSG)
- key: options.js_app_patterns.streaming_ssr
t: Streaming SSR
- key: options.js_app_patterns.streaming_ssr.description
t: Dividindo o contido renderizado do lado do servidor en pezas máis pequenas
- key: options.js_app_patterns.resumability
t: Reanudabilidade
- key: options.js_app_patterns.resumability.description
t: Serializando o estado do framework no servidor, de xeito que o cliente pode reanudalo sen necesidade de volver a executar o código.
- key: options.js_app_patterns.edge_rendering
t: Edge Rendering
- key: options.js_app_patterns.edge_rendering.description
t: Alterar o HTML renderizado no *edge* xusto antes de envialo ao cliente
- key: options.js_app_patterns.micro_frontend
t: Micro Frontend
- key: options.js_app_patterns.domain_driven_design
t: Domain-Driven Design
- key: options.js_app_patterns.serverless
t: Serverless
- key: options.js_app_patterns.pespa
t: PESPA
- key: usage.what_do_you_use_react_for
t: Uso de React
- key: usage.what_do_you_use_react_for.question
t: Para que empregas React?
- key: usage.react_pain_points
t: Dificultades de React
- key: usage.state_of_react
t: Satisfacción
- key: usage.state_of_react.question
t: Como de satisfeito estas co estado actual de React?
- key: usage.usage_pain_points
t: Outros inconvintes
- key: usage.usage_pain_points.question
t: Algún outro inconvinte de React que che gustaría mencionar?
# new features
- key: usage.new_features
t: Novas funcionalidades
- key: usage.new_features.question
t: De cales das recentes e próximas funcionalidades estas máis entusiasmado?
- key: options.new_features.asset_loading
t: Carga de assets
- key: options.new_features.asset_loading.description
t: Integración total de Suspense na ciclo de vida de carga de estilos, tipografías e imaxes
- key: options.new_features.cache.description
t: API para axudar a gardar datos na caché.
- key: options.new_features_react_forget.description
t: Un compilador automático de reactividade para React
- key: options.new_features.new_docs
t: Nova documentación
- key: options.new_features.new_docs.description
t: Actualización da web de documentación de React.
- key: options.new_features.offscreen_rendering
t: Renderizado fora da pantalla
- key: options.new_features_offscreen_rendering.description
t: Renderizado de pantallas en segundo plano, sen unha carga adicional no rendemento.
- key: options.new_features.use_hook
t: >
Hook `use`
- key: options.new_features.use_hook.description
t: >
`use` é como unha promesa, pero pódese empregar dentro dun compoñente normal e de Hooks, incluso no lado do cliente.
- key: options.new_features.transition_tracing
t: Seguimento de transicións
- key: options.new_features.transition_tracing.description
t: Detecta cando as transicións de React comezan a ir lentas e investiga as razóns.
# what do you use React for?
- key: options.what_do_you_use_react_for.static_sites
t: Sitios estáticos
- key: options.what_do_you_use_react_for.design_systems
t: Sistemas de deseño
- key: options.what_do_you_use_react_for.web_apps
t: Aplicacións web
- key: options.what_do_you_use_react_for.mobile_apps
t: Aplicacións para móvil
- key: options.what_do_you_use_react_for.desktop_apps
t: Aplicacións para escritorio
# resources
- key: resources.learning_methods_react
t: Métodos de aprendizaxe
- key: resources.learning_methods_react.question
t: Que recursos empregaches para aprender React iniciamente?
- key: resources.blogs_news_magazines_react
t: Blogs e boletíns
- key: resources.blogs_news_magazines_react.question
t: Que blogs, revistas ou boletíns consultas para manterte actualizado das noticias relacionadas con React?
- key: resources.sites_courses_react
t: Sitios web e cursos
- key: resources.sites_courses_react.question
t: Que sitios web ou cursos fixeches para aprender React?
- key: resources.podcasts_react
t: Podcasts
- key: resources.podcasts_react.question
t: Que podcasts de React ou desenvolvemento web escoitas?
- key: resources.video_creators_react
t: Creadores de vídeo
- key: resources.video_creators_react.question
t: Que creadores de vídeo sobre React ou desenvolvemento web adoitas ver en YouTube, Twich, etc?
- key: resources.people_react
t: Xente
- key: resources.people_react.question
t: A quen les, sigues ou simplemente queres destacar na comunidade de React?