Intro to Layers - raisercostin/software-wiki GitHub Wiki

Trditional layers are: frontent, backend.

Frontend

This layers pertains to how the external world interacts with your software.

Frontend notions

Frontend types

There are several types of frontend applications that depend on how they are consumed: from mobile devices, desktop and laptop computers, other applications:

  • Mobile
    • ios - the iphone and ipad os
    • android - the other smartphones
    • windows mobile - in 2018 discontinued
  • Mobile Hybrid - web applications written to be consumed from mobile devices. Usually they need to be responsive.
  • Web
    • OnePage Application
    • Page Based Application - traditional http approach
    • Component Based Application - usually the server side manages the users' session.
    • Web Rich Applications - usually run in desktop systems not mobiles
      • FlashApps - in 2016-2018 discontinued
      • Silverlight - Microsoft specific, with compatibility problems
      • Applets - old java technology. installs browsers plugins. due to slow updates perceived as a security threat.
      • JavaWebStrat - newer java technology. capture browser links.
  • Desktop - Application
    • RCP - Rich Client Application
  • Hybrid - Frontend created for both mobile&web or other combinations.
  • API - How you connect the frontend to the backend layers

Frontend Technologies

Problems

Images Width and Height

  • About why we put width and height on an img that might contradict the "responsivness" . I talked with chatgpt4 here - https://chat.openai.com/share/30675f6d-fa87-4b4c-a05e-e278e16badd1
  • The short answer is that if the browser knows the aspect ratio of image without waiting till it downloads it then will be able to do layout computations faster and will not need to re-layout later.
  • ChatGPT says that the actual values do not matter so instead of 600x400 you could also give 3px and 2px . Else I doubt this since sometimes in css you could have enough space to let the image use the original space.

References

Backend