Tengo unas dudas antes de ponerme a aprender Angular a full

PlayingDead

Hola!

Quisiera saber unas cosas antes de obligarme a aprender Angular, digo obligarme porque el front no me interesa demasiado pero creo que es importante que al menos conozca un framework de front end por lo que pueda darse, ya que no siempre voy a estar yo únicamente en el back.

  • De cara a convertir aplicaciones creadas con Angular a apps móviles, es siempre posible y es fácil?
  • Es verdad que te joden la vida con cada actualización? o solo pasaba antes?
  • Qué librerías de Angular o plugins consideráis indispensables?

PD: He elegido Angular básicamente por salidas laborales. Por mí me ponía con React o Ionic.

Muchas gracias.

Nedaim
  • No se pueden "convertir" como tal, pero el código de angular lo puedes reutilizar en ionic.
  • No es verdad, cambió mucho de angularjs (AKA angular 1) a angular2 (ahora se llama angular a secas o @angular). Ahora las actualizaciones son normales.
  • Ninguna, angular viene muy completo. Yo siempre trabajo con bootstrap pero eso ya cada uno lo que quiera.

Ya que dices lo de Ionic, aunque ahora soporta mas frameworks inicialmente solo funcionaba con angular y es el framework principal con el que trabajan.

2 1 respuesta
PlayingDead

#2 Me queda claro. Gracias!

Roads

Ultimamente se esta viendo bastante movimiento hacia React en entornos mas exigentes por rendimiento. Ahora mismo los proyectos que nos entran a nivel europeo estan pidiendo React sobre Angular 2:1.
Si te gusta mas el back y es lo que quieres hacer, para front yo preferiria irme a React que a dia de hoy es mas dificil encontrar perfiles y te diferencia mas del resto.

2 2 respuestas
penetration

#4 Y te pagan normalmente "bastante" mejor que en angular.
Vue tiene 1 curva de aprendizaje mas similar a angular y no tan "alta" como React, y esta tambien empezando a sacar la cabeza en los ultimos meses.

Pero vamos, si tienes buen nivel, react de cabeza xD

1 1 respuesta
Roads

Lo bueno que tienen ahora los puestos tecnicos es que los sueldos llevan dos años subiendo a un ritmo muy bueno. Yo estoy pensando en dejar el management y volver a arquitectura :)

kidandcat

@Ridote curra en C++ a muy bajo nivel, odiaba el frontend como tu, le dió un try a React y ahora está encantado.

Edit: he leido mejor, tu no lo odias, solo no te interesa, @Ridote lo odiaba de verdad

1
Ridote

Desde la mayor ignorancia del desarrollo web, te diría que React es fácil de aprender, pero fácil fácil. Haces cosas pero rapidísimo y si modularizas bien las cosas es una puta gozada. Luego si no te quieres liar mucho con css y esas mierdas, le metes antd, que es un paquete de react de estilos, y lo tienes todo hecho xD

2 1 respuesta
sasher

He probado ambos y React es MUY sencillo de aprender y hacer cosas rápido. Angular directamente parece un lenguaje nuevo.

1 respuesta
JuAn4k4

#9 Angular es typescript y react es jsx, realmente, son lenguajes "nuevos", si partes de js.
Ambos son sencillos, pero es más fácil hacerlo francamente mal con angular, mientras que react es más difícil hacerlo mal, todos te mandan a redux y formas más sencillas de hacer las cosas, con Angular tienes mil formas de hacer chapuzas y liarla parda con inputs/outputs e inputs con doble binding y tal y tal

2 respuestas
W0rd

#10 hacerlo mal ... mal desde tu punto de vista, uno es un framework y otro una librería. Angular es mas completo y ademas fuerza al programador a seguir su estilo de desarrollo, tienes rxjs, typescript, interceptores, servicios, pipes, directivas etc, no te hace falta nada. En proyectos grandes puede ser un caos, de ahí que con angular sea fácil que entre uno y se pueda poner a trabajar cuanto antes. En react tienes librerías de terceros para cada cosa, ademas la estructura se tiene libre albedrío.

"liarla parda con inputs/outputs e inputs con doble binding y tal y tal" el doble binding se lleva sin usar bastante tiempo (reactive forms), y sobre el input/output, pues mirar la doc, esto es programación, no todo va ser arrastrar y soltar.

Hace unas semanas han sacado angular 9, motor ivy que lo hace todavía mas rápido con idea de crear custom web components

1 3 respuestas
Ranthas
#11W0rd:

y sobre el input/output, pues mirar la doc, esto es programación, no todo va ser arrastrar y soltar.

Pero volvemos a lo de siempre, el picateclas web medio es eso, un picateclas, no va a leerse la documentación de nada y se dedicará a hacer mierda.

Wasd

Despues de trabajar tanto con Angular como React una temporada, desde luego yo recomendaría React. Tambien depende del tipo de programador que seas.
Eso si, React mejor con Typescript.

#8 No conocía antd, muy guapo!

2 respuestas
Ridote

#13 Se lo han currado un huevo. Sobretodo para los que tenemos el gusto en el culo y no somos muy duchos con css antd es la leche!!

Lord_Khronus
#13Wasd:

Tambien depende del tipo de programador que seas.

En qué sentido?

1 respuesta
MisKo

#10 #11 Yo hace mucho tiempo que no toco angular, porque ya no se usa el "two way binding" ¿?

Wasd

#15 En el sentido de que hay quienes prefieren un set de tecnologías y prácticas bien asentadas, sin tener que rebuscar librerías de calidad y leerse las docs de cada una, prefiriendo en su lugar ir a una documentación centralizada y organizada de una misma manera.

Yo prefiero React e ir montandome el stack de librerías que voy viendo que me van bien.
Por otro lado, existe un término medio (aun no lo he probado) que es utilizar un framework para React, como https://nextjs.org/

Añadir que curiosamente, el sub-framework de React que he puesto (NextJS) tiene casi las mismas stars en Github que Angular, React tiene prácticamente el triple que Angular, y Vue supera por poco a React.

1 respuesta
JuAn4k4

#11 Si, en el trabajo usamos Angular9, y en mi proyecto personal también, pero el patrón in/outs es una puñetera locura en proyectos grandes. El doble binding se sigue usando, lo veo en libs de componentes a patadas, por mucho que digan de no usarlo. Y aún asi, los inputs se usan como refs, y se mutan en todos lados sin control, y el proyecto acaba siendo un hervidero de bugs. Pero vamps que si, se hacen mal bajo mi punto de vista, soy bastante critico y muy opinionated, pero el tiempo me suele dar la razón bastantes más veces de las que querría

1 respuesta
Lord_Khronus

#17 No sé si las estrellas de github son buen indicador de la popularidad de la tecnología.

Yo mirando ofertas de trabajo veo más react que los otros y voy a intentar aprender-lo.

1
Zerokkk

#18 Es que para trabajar con el estado de los componentes, input y output no sirve de mucho. Los usarás para comunicar componentes extremadamente simples, pero si me dices que termina "siendo un lío", es que entonces estás sobreutilizado esas herramientas. Para eso están los servicios y la habilidad de inyectarlos a nivel de componente, a nivel de módulo o a nivel de app.

edit: Ahí va un ejemplo que he complicado de más para hacer ver cómo incluso en situaciones de pasar muchos datos a un componente, no tiene por qué quedar realmente mal por hacerlo por input/output (y para traspasar datos relacionados con APIs, es directamente mejor llamar al servicio pertinente).

Consideremos por un momento un componente con una plantilla bastante dinámica que admite muchas configuraciones. ¿No sería esta acaso una forma sencilla de resolver dicha cuestión?

export interface InfoOverlayData {
  
title: string; properties: Array<{propName: string, value: any}>; routing: { url: string; parameters: any }; propertiesStyles?: any; image?: any; author?: any; imageStyles?: any; authorLabel?: string; containerHeight?: number; containerWidth?: number; }

Se usaría tal que...:

return {
            title: "Evento deportivo",
            routing: entity.routing,
            author: entity.get("userId"),
            authorLabel: "Organizador: ",
            properties: [
                {
                    propName: "Recorrido: ",
                    value: distance
                }
            ],
            containerHeight: 170,
        }

Pasando todos estos parámetros de configuración en un mismo objeto entendido como una interfaz de TS, te permite jugar con el componente fácil: construyes ese objeto primero (algo a lo que el propio IDE te ayudará), metiendo los parámetros obligatorios que necesitas, y dejándote espacio incluso para añadir aquellos opcionales que prefieras. Y santas pascuas.

20 días después
Foxandxss

#4 lo de rendimiento me parece una tontería bien grande. Cualquera de los frameworks rinde bien si se usa correctamente.
#5 lo de pagar pues depende de la empresa. Al final del día, al menos en consultoría pues es la fama que tengas y qué tan caro puedes vender a tus desarrolladores. La tecnología es irrelevante. Puedes ser una compañía super competente haciendo react o haciendo Angular.

Usuarios habituales

  • Foxandxss
  • Lord_Khronus
  • JuAn4k4
  • Wasd
  • Ridote
  • Roads
  • PlayingDead