Nopp

Nopp

Are there any books that cover achitecturing applications?

Hello there,

i have a lot to read and to learn, but are there some books, that are focussing on how i “should” plan the architecture of my software? Are there any best practices?

I hope my question is clear :slight_smile:
Greetings

Most Liked

david_ex

david_ex

It’s not a book, but this is an excellent article on how to structure software in OTP: https://ferd.ca/the-zen-of-erlang.html

Speaking of onion architecture, Scott Wlaschin has a lot of content on the web about DDD from a functional point of view, although he uses F# https://fsharpforfunandprofit.com/ddd/ You’ll also find lots of videos of his talks, and a book: https://pragprog.com/book/swdddf/domain-modeling-made-functional

Note that all of it won’t be applicable to Elixir (static typing, etc.).

easco

easco

On that point, I heartily recommend Greg Young’s talk on The Art of Destroying Software:

https://vimeo.com/108441214

Nopp

Nopp

But this describes mainly the syntax and how to perform specific tasks.
I want to know how to plan my software from beginning to end, for longevity, renewability and best pratices for the architecture itself.

In HTML there is the header, then body, then footer etc. Strict that. Simple. (I know, bad example)

Are there any best pratices like this for other applications, like client-server software?
Clearer what i want to know? English is not my main language, sadly…

svarlet

svarlet

It looks like you are (rightfully then) asking about architecture, which is merely affected by your choice of programming language. Your architecture should certainly not be depending on phoenix or ecto or whatever framework. Those are implementation details, they should not dictate how you build stuff.

If this sounds like what you’re after, I would suggest reading more about an architecture called with many names: Ports and Adapters / Clean Architecture / Onion Architecture.

There are others but this is certainly one you should check :wink:

aaronrenner

aaronrenner

Phoenix Core Team

I just gave a talk along similar lines at ElixirConf: https://www.youtube.com/watch?v=Ue--hvFzr0o.

It covers many things like creating a public (code-level) API and several internal APIs, in an effort to keep your application structured and easy to change down the road. It also covers how to test complex applications, and how to isolate Ecto to the areas of the app that it’s good at.

Hopefully this helps. :slight_smile:

Where Next?

Popular in Chat/Questions Top

shansiddiqui94
Hello, I have an interview coming up and I seem to have forgotten important concepts of Elixir. So I was wondering if you guys know of a...
New
maqbool
what books/Resources do you recommend to learn about distributed system(theory)?
New
wolfiton
Question: Can someone recommend me some good resources on learning performance for phoenix elixir applications and a design pattern I sh...
New
miguelsrrobo
hi i was wondering if it is necessary to learn erlang to learn elixir
New
armanm
I know zero downtime deployment can mean different things depending on your application and what your users can tolerate so expectations ...
New
satoru
I’m working on the “Bob” exercise on the Elixir Track in Exercism. I am testing for uppercase letter with this simple check: c in ?A..?Z...
New
sadcad
I love the Phoenix and Elixir docs, but I always tend to learn faster when I watch a video of someone explaining things and then I implem...
New
New
RKC07
I’m new to elixir. I did some coding in python and C. I want to learn elixir for starting my career in web development. I need suggestion...
New
asfand
I already created an Elixir Phoenix app for learning purpose. In this app students of our collage will create profiles, and will chat wit...
New

Other popular topics Top

lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
William
I would like to know that is there any online source for learning Phoenix Framework for building E-Commerce Store? Any advantage on build...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New

We're in Beta

About us Mission Statement