/    Sign up×
Community /Pin to ProfileBookmark

Guidance for C++ / Python developer to understand the web dev world

Hi everyone,

I am programming since quite some years now.
Until now I was mainly focused on writing “normal” applications which run inside a console or with a GUI, sometimes also applications which interact with hardware components such as sensors / actors / …
During this time I got to know a lot of cool programming principles and tools such as object orientation, modularization, unit-testing, test-driven-development, desing-patterns, code-analysis, ..

Also I have some first experience with hosting a wordpress blog, running static web-sites on a nginx webserver, and writing some small php-forms. But I feel like there is still too much magic in all these web-development topics. And I would like to fill this gap and learn a bit more about all these connected scripting / programming languages and technologies. (Because I hate, when I don’t understand how things are working 😀 😀 )
I started with some online “Web-development bootcamp” course at udemy to get a rough overview. This took quite some days now and I think HTML, CSS and Javascript for DOM manipulation / animations are clear to me now. Also I heard a lot about NodeJS and all it’s derivate languages and databases like Mongo-DB. But still I feel like there is a lot of things unclear to me.

To get to a better understanding I wanted to development some small web-application. Nothing very special, just some website where you have to login to, are able to generate some data and this data is then persisted into a database and once you login again you are able to see the data again.
I first started with developing some classes in Javascript to represent the data in the browser while you are logged in. But I very soon realized that the Javascript which can run inside the browser is very limited and already for unit-testing and modularization into separate files that include each other I actually needed to do some crazy work-arounds or use other server-side languages like nodejs / php / … .
After some time coding I decided to take one step back, trying to understand the basic design patterns of web-applications and not running for a long time into the wrong direction.

My questions are:

  • Is there some typical way to go while developing web-applications?

  • What are the typical key players? I know there is the difference between front-end, back-end and databases.

  • But are there some do’s and don’t’s that good WebDev’s follow?
    For example:
  • which code is usually written in back-end / server-side languages?

  • What is usually done in the front-end? (Only desing and animations?)

  • Do I have to move all business logic into the back-end, also for security reasons or is this maybe also a bad idea because of peformance reasons?

  • What programming languages are more or less dead and not to be used in the future?

  • What things are typically reused from frameworks, for example authentication and session handling?
  • Also I felt like some things I know from other programming languages are not so easy in languages like javascript / nodejs. I am willing to spend time and effort into learning all these things but I would also like to keep the quality standards that I know from C++ /
    Python. On the other side I also wondered if these patterns that I have in my head are maybe just boundaries that are completely useless in modern web-development? (e.g. typing, object orientation, modularization / splitting the code to be very reusable )

    What do you think am I on the wrong track here, or do I maybe simply use the wrong languages?

    I hope the long text is not knocking everyone down / keeping everyone from answering me 😮
    I would really appreciate your help and guidance to understand everything a bit better and to not repeat the things already a lot of others have done wrong 😉

    BR, mezorian

    to post a comment

    1 Comments(s)

    Copy linkTweet thisAlerts:
    @sibertJan 09.2021 — > @mezorian#1626617 Is there some typical way to go while developing web-applications?

    Personally I prefer to start with the users views and needs.

    > What are the typical key players? I know there is the difference between front-end, back-end and databases.

    You may add API (and business logic) to the list. Depending on the project.

    > which code is usually written in back-end / server-side languages?

    Javascript (and/or relatives) and Python/Django are the most common AFAIK. But I think most languages can be used. I am investigating Golang which is a mix of C and Python (sort of).

    > What is usually done in the front-end? (Only desing and animations?)

    UX.

    > Do I have to move all business logic into the back-end, also for security reasons or is this maybe also a bad idea because of peformance reasons?

    There is always opinions where to put the business logic. Some advocates that this should be a separate business layer. Some spread the logic where it is most suitable. Personally I think the database can do some business logic to increase the speed (less queries - less traffic)

    > What programming languages are more or less dead and not to be used in the future?

    Cobol may be dead in new projects :-)

    > What things are typically reused from frameworks, for example authentication and session handling?

    Personally I try to reuse as much code as possible. But your suggestion may be a good start.
    ×

    Success!

    Help @mezorian spread the word by sharing this article on Twitter...

    Tweet This
    Sign in
    Forgot password?
    Sign in with TwitchSign in with GithubCreate Account
    about: ({
    version: 0.1.9 BETA 4.26,
    whats_new: community page,
    up_next: more Davinci•003 tasks,
    coming_soon: events calendar,
    social: @webDeveloperHQ
    });

    legal: ({
    terms: of use,
    privacy: policy
    });
    changelog: (
    version: 0.1.9,
    notes: added community page

    version: 0.1.8,
    notes: added Davinci•003

    version: 0.1.7,
    notes: upvote answers to bounties

    version: 0.1.6,
    notes: article editor refresh
    )...
    recent_tips: (
    tipper: @Yussuf4331,
    tipped: article
    amount: 1000 SATS,

    tipper: @darkwebsites540,
    tipped: article
    amount: 10 SATS,

    tipper: @Samric24,
    tipped: article
    amount: 1000 SATS,
    )...