Skip to content

Instantly share code, notes, and snippets.

@ZapDos7
Created February 16, 2024 20:24
Show Gist options
  • Save ZapDos7/d1ef0b58d1dd848c2e871ffd3509a648 to your computer and use it in GitHub Desktop.
Save ZapDos7/d1ef0b58d1dd848c2e871ffd3509a648 to your computer and use it in GitHub Desktop.

Web Development

Web vs Desktop App Development

Developer's Day 2021 - Qualco

Why web?

  1. easy to deploy/update
  2. can be hosted both on premise & on cloud
  3. cross platforms
  4. apps accessible from anywhere
  5. easier to attract clients
  6. use of new & upgraded technologies

But

  1. Security is harder
  2. JS is not the most structured language so it's harder to maintain

How do we select a framework?

  1. Established web technologies
  2. well documented technology means we can easily educate other engineers
  3. abstraction/encapsulation
  4. reusability
  5. customization
  6. performance
  7. ability to write unit tests

Technologies

JS

There is no single framework that has all the solutions

  • react (fb)
  • angular (google)
  • vue (ex google engineer)
  • ...

Select between

  • b2b (business to business)
  • b2c (business to consumer)

Typescript

  • < Microsoft
  • compiles to plain JS so it's compatible with all browsers
  • object oriented (client side as well as server side dev)
  • static type checking (check variable type on compile time (like Java), expressly indicated by programmer or (e.g. OCaml type reference is used (compiled)
    • the opposite is called dynamically typed language (like Python, JS, Bash) - mostly scripting languages (interpreted)

Angular

  • offers tools & design patterns to build your project in a maintainable way
  • components are decoupled
  • testing is at heart
  • mobile & desktop ready
  • BUT: harder to learn because different ideologies

ASP.NET core

  • cross platform
  • high performance
  • open source frameowrk for building modern, cloud based internet connected apps
  • helps build web apps & services, IoT apps, mobile backends using .NET APIs.

Keep in mind

  • change SDLC to introduce pen testing & security reviews
  • invest in technical documentation & training when transitioning from desktop to web as it can be daunting for devs
  • define early how to measure success of a platform (e.g. unit tests on time of loading etc)
  • select appropriate IDE for development
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment