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

LEARNING ELIXIR AS AN IOS ENGINEER

Swift India
November 16, 2019

LEARNING ELIXIR AS AN IOS ENGINEER

Swift India

November 16, 2019
Tweet

More Decks by Swift India

Other Decks in Technology

Transcript

  1. > Preferring polling over socket connections in a realtime app

    setting (chat, food delivery, ride sharing etc)
  2. > Preferring polling over socket connections in a realtime app

    setting (chat, food delivery, ride sharing etc)
  3. > Preferring polling over socket connections in a realtime app

    setting (chat, food delivery, ride sharing etc) > Pagination mechanisms based on page # in a mobile app
  4. > Preferring polling over socket connections in a realtime app

    setting (chat, food delivery, ride sharing etc) > Pagination mechanisms based on page # in a mobile app
  5. > Preferring polling over socket connections in a realtime app

    setting (chat, food delivery, ride sharing etc) > Pagination mechanisms based on page # in a mobile app > Dealing with the intricacies of Apple’s own server side APIs.
  6. > Preferring polling over socket connections in a realtime app

    setting (chat, food delivery, ride sharing etc) > Pagination mechanisms based on page # in a mobile app > Dealing with the intricacies of Apple’s own server side APIs.
  7. > Preferring polling over socket connections in a realtime app

    setting (chat, food delivery, ride sharing etc) > Pagination mechanisms based on page # in a mobile app > Dealing with the intricacies of Apple’s own server side APIs. > Other weird technical decisions.
  8. > What makes a second language so hard? > The

    genesis of this choice > Why didn’t I go with Server Side Swift, which should’ve been a better fit? > What makes Elixir so good? > A brief history of the language > What parts of elixir really confounded me as someone coming from Swift
  9. > Features in Elixir I absolutely would love if they

    came to Swift. > We’ll look at some really cool features in the Elixir ecosystem that make it really unique
  10. > Features in Elixir I absolutely would love if they

    came to Swift. > We’ll look at some really cool features in the Elixir ecosystem that make it really unique
  11. > Features in Elixir I absolutely would love if they

    came to Swift. > We’ll look at some really cool features in the Elixir ecosystem that make it really unique > Suggested QA - what is it like learning a second language?
  12. > Features in Elixir I absolutely would love if they

    came to Swift. > We’ll look at some really cool features in the Elixir ecosystem that make it really unique > Suggested QA - what is it like learning a second language? > What’s a good way to deep dive into a new technology as a junior developer
  13. > Features in Elixir I absolutely would love if they

    came to Swift. > We’ll look at some really cool features in the Elixir ecosystem that make it really unique > Suggested QA - what is it like learning a second language? > What’s a good way to deep dive into a new technology as a junior developer > career prospects etc
  14. WHAT MAKES A SECOND LANGUAGE SO HARD? > One of

    the most challenging but rewarding things you can do as a developer > Idioms & Syntax - How do we do things? > Tooling > New ways of thinking
  15. STRUCTS > Elixir Structs are a lot like Swift structs,

    except no methods allowed - pure functions only!!! > They're pure data - interesting emergent properties! > Want to update a property? It's as easy as updating a dictionary(because they're dictionaries underneath!)
  16. NO DISTINCTION BETWEEN REMOTE AND LOCAL DATA > Distributed first

    - things like ETS can run on other computers or the same computer and your code won't know the difference. Erlang did docker-compose before it was cool > Same for structs, data, processes - makes it easy to horizontally scale your system
  17. > Also works for tooling! iex, observer all run as

    natively locally and remotely! > (Remember our little video?)
  18. SIMPLE THINGS ARE SIMPLE > Service calls out to x

    APIs, collects responses and does something with them?