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

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