From 94c05ccbfa55bac50fb8dfb80542c6f030db117e Mon Sep 17 00:00:00 2001 From: nelsonic Date: Tue, 7 Jul 2026 15:19:04 +0100 Subject: [PATCH 1/3] add
element to contents to hide #165 --- README.md | 43 ++++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index c04323a..ceb4c64 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,15 @@ # Technology Stack -The software and systems we use to build the **`dwyl`** platform. +The software and systems we use to build **`@dwyl`**. -![la-rel-easter-KuCGlBXjH_o-unsplash](https://user-images.githubusercontent.com/194400/184178915-302f5a0e-96ab-46c9-9731-ca82affefc7e.jpg "La-Rel Easter - Child stacking blocks") +![la-rel-easter-KuCGlBXjH_o-unsplash](https://user-images.githubusercontent.com/194400/184178915-302f5a0e-96ab-46c9-9731-ca82affefc7e.jpg "La-Rel Easter - Child stacking blocks") +
+ Contents [click to expand] + - [Technology Stack](#technology-stack) - [Why?](#why) - [What?](#what) @@ -50,10 +53,13 @@ The software and systems we use to build the **`dwyl`** platform. - [Other Tech/Tools?](#other-techtools) - [How to Propose `NEW` Tech/Tools?](#how-to-propose-new-techtools) +
+
+ # Why? -As a ***team of people*** -using technology +As a ***team of people*** +using technology to **_make_ digital products**,
it's _essential_ to **be _unambiguous_** about the **stack/tools** we use,
@@ -66,7 +72,9 @@ to make product(s) that are --> > _If **anything** is **unclear** or you have **any questions** please_ -[***ask***](https://github.com/dwyl/technology-stack/issues). +[***ask***](https://github.com/dwyl/technology-stack/issues).
+We are always happy to answer tech stack related questions.
+But please make sure you read the whole doc including the FAQ first. # What? @@ -795,26 +803,27 @@ and reduce the chances of success. ## Other Tech/Tools? -We have written about -our choice of programming language _extensively_ in: -[learn-elixir/issues/102](https://github.com/dwyl/learn-elixir/issues/102). +We have written _extensively_ about +our choice of programming language in: +[learn-elixir#102](https://github.com/dwyl/learn-elixir/issues/102). + +Our use of **`Elixir`** is for a **_very_ specific reason**: +we are building **fault-tolerant realtime systems**. +For the type of App we are building, +**`Erlang/OTP`** is the **_undisputed_ king** +on the **server side**. -Our use of **`Elixir`** is for a very specific reason: -we are building fault-tolerant realtime systems. -For the type of App we are building, -`Erlang/OTP` is the _undisputed_ king -on the server side. We _could_ use almost any other language/framework, but it would be a _lot_ more work for an inferior result. -If we need to build a **_specific_ feature** -requested by a person _using_ our product, -then we will **100%** consider a technology +If we need to build a **_specific_ feature** +requested by a person _using_ our product/service, +then we will **100%** consider a technology that enables us to deliver it. ## How to Propose `NEW` Tech/Tools? -The way to _propose_ a specific tech/tool +The way to _propose_ a **specific tech/tool** is simple: [open an issue](https://github.com/dwyl/technology-stack/issues) describe how the tech/tool From 6c08082890a13f1c28ab95a1868a72ca55a006d5 Mon Sep 17 00:00:00 2001 From: nelsonic Date: Thu, 9 Jul 2026 11:08:46 +0100 Subject: [PATCH 2/3] update links to SO survey 2025 #165 --- README.md | 48 +++++++++++------ flutter.md | 153 ++++++++++++++++++++++++++++++----------------------- 2 files changed, 119 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index ceb4c64..734fe4a 100644 --- a/README.md +++ b/README.md @@ -63,8 +63,9 @@ using technology to **_make_ digital products**,
it's _essential_ to **be _unambiguous_** about the **stack/tools** we use,
-**so that _everyone_** is **clear** -what we _all_ need to master.
+**so that _everyone_** is **clear** +what we _all_ need to +[**master**](https://www.google.com/search?q=definition+of+mastery).
+we want to maximize our efforts +to build the `App` that _most_ people want/need. +We are focussing on building the **`Web App`** initially +because the web is universally accessible. +_Many_ companies have focussed their initial efforts on `iOS` +because it's the _easiest_ platform to target, +`iOS` buyers have more disposable income and are more likely to _pay_ for apps. > "_Making an App for `iOS` is Faster and Less Expensive_". -> "_`Android` users tend to be -> less willing to pay for apps than `iOS` users, -> so free apps with in-app ads are more common._" +> "_`Android` users tend to be +> less willing to pay for apps than `iOS` users, +> so **free apps** with **in-app ads** are more common._" https://medium.com/@the_manifest/android-vs-ios-which-platform-to-build-your-app-for-first-22ea8996abe1 -> There are fewer iOS devices to target and test on which dramatically shortens dev timelines. -e.g in 2022 there are only **7 supported screen sizes** for iPhone: -> + 4" - iPhone 5S and SE (old screen size but still used by [tens of millions](https://deviceatlas.com/blog/most-popular-iphones) people) -> + 4.7" - iPhone 6, 7, 8 and SE 2020 & 2022 -> + 5.42" - iPhone 12 & 13 Mini -> + 5.5" iPhone 6 Plus, 7 Plus and 8 Plus -> + 5.85" - iPhone X, XS and 11 Pro -> + 6.06" - iPhone XR, iPhone 11, 12 & 13 Pro -> + 6.46" - iPhone XS Max and iPhone 11, 12, 13 Pro Max -See: https://en.wikipedia.org/wiki/List_of_iOS_devices -The _full_ device feature compatibility matrix -is lets developers see _exactly_ what features are available for all iOS devices (including all iPads): https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/Displays/Displays.html - -> In **2015** there were _already_ -> "_more than **24,000 different `Android` devices** -> from 1300 brands_" +> There are fewer iOS devices to target +> and test on which dramatically shortens dev timelines. +e.g in 2026 there are only **8 supported screen sizes** for iPhone: + +> + 4.7": iPhone SE (2nd & 3rd generation) +> + 5.42": iPhone 12 & 13 Mini +> + 5.5": iPhone 6 Plus, 7 Plus and 8 Plus +> + 5.85": iPhone X, XS and 11 Pro +> + 6.06": iPhone 11, 12, 13 Pro, 14 Pro +> + 6.3": iPhone 15 Pro, 16 Pro, 17 +> + 6.46" iPhone 11, 12, 13 & 14 Pro Max +> + 6.7": iPhone 16 Plus +> + 6.9": iPhone 16 Pro Max, iPhone 17 Pro Max +See: +[support.apple.com/en-gb/guide/iphone/iphe3fa5df43/ios](https://support.apple.com/en-gb/guide/iphone/iphe3fa5df43/ios) +and +[wikipedia.org/wiki/List_of_iOS_devices](https://en.wikipedia.org/wiki/List_of_iOS_devices) +The _full_ device feature compatibility matrix +lets developers see _exactly_ what features +are available for all iOS devices (including all iPads): +https://developer.apple.com/library/archive/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/Displays/Displays.html + +## How Many Distinct `Android` Devices + +By **2015** there were _already_ +"_more than **24,000 different `Android` devices** +from **1300 brands**_" https://www.zdnet.com/article/android-fragmentation-there-are-now-24000-devices-from-1300-brands + ![image](https://user-images.githubusercontent.com/194400/83424494-60523680-a424-11ea-829c-d75be55d7f17.png) + That was before the _explosion_ of new devices from Chinese and manufacturers. -In 2022 there is no official stat -for the number of devices or screen sizes -(_because Google is painfully aware -of the fragmentation problem -but doesn't want to surface it!_) -suffice to say that it's _several_ orders of magnitude -more complex to build an Android App +In 2026 there is no official stat +for the number of devices or screen sizes +(_because Google is painfully aware +of the fragmentation problem +but doesn't want to surface it!_) +suffice to say that it's **_several_ orders of magnitude** +**more complex** to **build** an **`Android App`** that looks _consistently_ good across all devices. -Android development is _considerably_ more complex, +Android development is _considerably_ more complex, which is why devs prefer `iOS` for their MVP. @@ -277,9 +292,13 @@ and was the 3rd "most loved" framework: [https://insights.stackoverflow.com/survey/2020#technology-most-loved](https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-other-frameworks-libraries-and-tools-loved3) StackOverflow-survey-2020-flutter-most-loved -In the 2022 survey `Flutter` -has overtaken `React Native` -in popularity: +In the 2022 survey `Flutter` +overtook `React Native` +in popularity: https://survey.stackoverflow.co/2022/#section-most-popular-technologies-other-frameworks-and-libraries +and in all years since it has maintained its' lead: +https://survey.stackoverflow.co/2025 + [![HitCount](https://hits.dwyl.com/dwyl/technology-stack-flutter.svg?style=flat-square)](https://hits.dwyl.com/dwyl/technology-stack) + From b97e5a2a3a55e9b5eac4082140d0850dfb135971 Mon Sep 17 00:00:00 2001 From: nelsonic Date: Thu, 9 Jul 2026 18:49:45 +0100 Subject: [PATCH 3/3] add deep link to https://survey.stackoverflow.co/2025/technology#2-web-frameworks-and-technologies for #165 --- README.md | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 734fe4a..2dec578 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The software and systems we use to build **`@dwyl`**. - [What?](#what) - [The `PETAL` Stack](#the-petal-stack) - [**`Phoenix`**](#phoenix) - - [`Phoenix` the "Most Loved" Framework in 2022](#phoenix-the-most-loved-framework-in-2022) + - [`Phoenix` the "Most Loved" Framework](#phoenix-the-most-loved-framework) - [**`Elixir`**](#elixir) - [`Elixir` is `#2` in 2022](#elixir-is-2-in-2022) - [**`Tailwind CSS`**](#tailwind-css) @@ -79,7 +79,7 @@ But please make sure you read the whole doc first. # What? -This document + diagrams _describe_ +This document + diagrams _describe_ the full "**`PETAL`**" Technology Stack we use for **`dwyl`** products/projects. @@ -93,12 +93,12 @@ and ***world-class quality***! ![dwyl-technology-stack-diagram-PETAL](https://user-images.githubusercontent.com/194400/184719877-a6112c04-7cd9-441f-a293-e6b133d4b67c.png) -"PETAL" is an acronym1 +"PETAL" is an acronym1 for the following elements: ### **`Phoenix`** -**`Phoenix`** is a Web Application Framework +**`Phoenix`** is a Web Application Framework that does not compromise on speed, reliability or maintainability! **`Phoenix`** is the "_successor_" @@ -112,16 +112,21 @@ The list of ***benefits*** Phoenix has over Please see: [dwyl/**learn-phoenix-framework**#our-**top-10-reasons**-why-phoenix](https://github.com/dwyl/learn-phoenix-framework#our-top-10-reasons-why-phoenix)
-#### `Phoenix` the "Most Loved" Framework in 2022 +#### `Phoenix` the "Most Loved" Framework -`Phoenix` tops the list of "Most Loved" Frameworks -on the 2022 StackOverflow Community Survey ❤️ +`Phoenix` tops the list of "**Most Loved**" Frameworks +on the +[2025 StackOverflow Community Survey](https://survey.stackoverflow.co/2025/technology#2-web-frameworks-and-technologies). ❤️ +This is the **3rd year in a row**. https://survey.stackoverflow.co/2022/#section-most-loved-dreaded-and-wanted-web-frameworks-and-technologies + ![stackoverflow-most-loved-framework-phoenix](https://user-images.githubusercontent.com/194400/184833098-0e9cd055-9e4f-4c93-96ed-4411e1a8154c.png) + + ### **`Elixir`** **`Elixir`** is the _functional_ programming language