Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lsjroberts/fintech-framework-comparison
A comparison of web frameworks and languages for realworld fintech apps
https://github.com/lsjroberts/fintech-framework-comparison
angular elm fintech imba react stencil svelte vue
Last synced: 19 days ago
JSON representation
A comparison of web frameworks and languages for realworld fintech apps
- Host: GitHub
- URL: https://github.com/lsjroberts/fintech-framework-comparison
- Owner: lsjroberts
- License: mit
- Created: 2019-06-06T09:19:16.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-06-15T14:27:29.000Z (over 5 years ago)
- Last Synced: 2024-11-09T04:36:02.735Z (2 months ago)
- Topics: angular, elm, fintech, imba, react, stencil, svelte, vue
- Language: Elixir
- Size: 134 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Web Framework Comparison for FinTech
A comparison of various web frameworks and languages for typical realworld financial web applications.
It is not intended that this comparison will come to a conclusion with a definitive "best" framework for building fintech apps. Instead it aims to provide a concrete real world baseline and support for discussion around the right choice for your specific company, project and team.
For each framework there is a breakdown of benchmark figures, a list of notable dependencies.
Each app has been built with typical dependencies that would be chosen for a real world app. Projects are not built with just the raw framework or language itself, so this serves as a comparison of the common ecosystem surrounding each.
Project template generators are used, such as [create-react-app](#), however full featured higher-order frameworks such as [Next.js](#) are treated separately.
Please remember, at the end of the day there is no absolute right or wrong framework, there is only the best fit for your team and your project.
## Features of a FinTech App
- Big grids of data, often virtualised, sometimes editable
- Charts, sparklines and more
- Streaming data, websockets of the latest prices and positions## Frameworks & Languages
In alphabetical order, the technologies used are:
- ❌ [Angular](#Angular)
- 🚧 [Elm](#Elm)
- ❌ [Imba](#Imba)
- ❌ [React](#React)
- ❌ [Stencil](#Stencil)
- 🚧 [Svelte](#Svelte)
- ❌ [Vue](#Vue)If you think a framework or language is missing, please [raise an issue](https://github.com/lsjroberts/fintech-framework-comparison/issues/new).
## Server
Each app connects to an [Elixir](https://elixir-lang.org/) [server](https://phoenixframework.org/) providing a [GraphQL](https://graphql.org/) endpoint. Where it exists, an [Apollo](https://www.apollographql.com/) client is used for the framework in question.
**Getting Started**
```
cd server
mix phx.server
```## Angular
❌ Not started
https://angular.io/
**Dependencies**
- [typescript](#)
## Elm
🚧 Work in progress
https://elm-lang.org/
**Setup**
```
npm i -g create-elm-app
create-elm-app elm
```**Getting Started**
```
cd elm
elm-app start
```**Dependencies**
- [elm-graphql](https://package.elm-lang.org/packages/dillonkearns/elm-graphql/latest)
- [elm-ui](https://package.elm-lang.org/packages/mdgriffith/elm-ui/latest)## Imba
❌ Not started
http://imba.io/
...
## React
❌ Not started
https://reactjs.org/
**Dependencies**
- [create-react-app](#)
- [react-router](#)
- [typescript](#)## Stencil
❌ Not started
https://stenciljs.com/
**Setup**
```
npm init stencil
> ✔ Pick a starter › app
> ✔ Project name › stencil
```## Svelte
🚧 Work in progress
https://svelte.dev/
**Dependencies**
- [svelte-apollo](https://github.com/timhall/svelte-apollo)
- [svelte-routing](https://github.com/EmilTholin/svelte-routing)**Setup**
```
npx degit sveltjs/template svelte
```**Getting Started**
```
cd svelte
npm install
npm run dev
```## Vue
❌ Not started
https://vuejs.org/
**Setup**
```
npm i -g @vue/cli
vue create vue
```**Getting Started**
```
cd vue
npm install
npm run serve
```