KrisKodira / fitPlant

🌱 A fitness app where you are able to grow plants and track your exercise
MIT License
31 stars 7 forks source link

Which technology should we use for the Web, iOS and Android app? #7

Open KrisKodira opened 5 years ago

KrisKodira commented 5 years ago

We should decide if we want to go all native with all three of them or if we want to use something like Angular or Ionic or something else. Please suggest what we should use and also use some arguments on why we should use it.

Flusinerd commented 5 years ago

I would go for the following tech stack:

Frontend for the WebApp:

Angular7:

Pros:

  • Native Typescript support

  • Utilizes Typescript features

  • Ability to use the codebase for the IOS and Android Apps, if we use Ionic there.

  • Large Community Cons:

  • Not the easiest framework out there

  • Can be overwhelming at the beginning

App:

Ionic

Uses Angular to build a native app using Cordova

Pro:

  • Utilizes Web technology for native apps
  • Same benefits as angular (Since its angular)
  • Same codebase
  • Comes with some UI Components

Cons:

  • Relies on native plugins, so if one breaks, it can break the app without us beeing able to fix it (Highly unlikley)

Backend Node (Express + Sequelize/mongoose)

Pro:

  • JS or TS in backend too (more consistent codebase)
  • Active Community
  • A lot of freedom (can be a disadvantage)
  • Non blocking IO (Simultanious Requests possible)
  • Scales easy
  • NPM

Cons:

  • A lot of freedom (Can be a disadvantage but doesnt have to be)
  • Bad performance in large computing tasks (Cant think of any in this project)

Thats what I would use for the tech-stack in this project, but if you have any better ideas or suggestion feel free to tell me so.

Sincerly, Jan

KrisKodira commented 4 years ago

I would like to use Flutter for the frontend and Node for the backend as proposed by @Flusinerd