Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Front-End Funcional Com ELM - Front End SP #5

Front-End Funcional Com ELM - Front End SP #5

Avatar for Ana Luiza Portello

Ana Luiza Portello

September 01, 2017
Tweet

More Decks by Ana Luiza Portello

Other Decks in Programming

Transcript

  1. Nenhum pattern que as pessoas falam que é o certo.

    10 formas de fazer um objeto. 20 formas de invocar uma função.
  2. “undefined is not a function” “cannot read property of undefined”

    Terminal começa a jogar na nossa cara coisas tipo
  3. Mantainable but kind of scary Tipos estaticos OO Langs Linguagens

    Maneiras & Dinamicas Mantenabilidade (Facilidade p/ adicionar features) Usavel Fácil de aprender e de pôr em produção
  4. DESIGN da linguagem foi feito pra tentar de ajudar a

    fazer APLICAÇÕES ROBUSTAS de forma simples.
  5. • Nunca fica legado: Codigo bem arquiteturado que continua bem

    arquiteturado mesmo com o crescimento da sua aplicação • Anti-Gambiarra: Menos Bugs pq todas as funções são puras. • Declarativo: Sucinto, Reusavel, e deixa tudo muito mais claro quando vc está lidando com estado
  6. NoRedInk has 80k+ lines of ELM, and after more than

    a year in production, it still has not produced a single runtime exception. http://elm-lang.org/
  7. ?

  8. View div [] [ button [ onClick Decrement ] [

    text "-" ] , div [] [ text “” ] , button [ onClick Increment ] [ text "+" ] ] + - ~virtual dom~
  9. View 0 view model = div [] [ button [

    onClick Decrement ] [ text "-" ] , div [] [ text (toString model) ] , button [ onClick Increment ] [ text "+" ] ] + -
  10. É o evento base p/ todos os eventos acontecendo quando

    rola interação na ui(clicks, inputs, etc) Msgs Actions
  11. Recebe uma msg e state como input Retorna um novo

    estado e cmd. Essa função é pura e não gera efeitos colaterais Update Reduce
  12. type Msg = Increment | Decrement update msg model =

    case msg of Increment -> model + 1 Decrement -> model - 1 0 + - Update