1

Unfortunately I've only developed 2 applications from ground-up, a shopping basket using Java and a Xamarin-based Android Quiz app with C#. I mostly have experience in HTML and CSS, but I'm on my 3rd year of software engineering so I have experience in things like SQL (data modelling, normalisation etc), SDLC, architecture, agile and so on.

The point is, I'm looking to develop a very basic webapp that lets users login with varying authentication and authorisation levels to CRUD (create / update / edit / delete) records of people. This app is supposed to be available on AWS / Azure and should be linked with a MySQL database.

Some stacks or software I've looked into with comments:

  • .net core + Razor + + EF Core: Microsoft has some great tutorials for this, but unfortunately I gave up halfway after trying really hard. It's not that I can't make the app work, but most of the tutorial and code I started to lose understanding of e.g. OnPostAsync and FirstOrDefaultAsync usages. Initially I mirrored the steps but using my own more complex data models, but I reckoned if I don't understand it there's no point in building further (or is there? even if I don't understand at first should I keep going on?)
  • LAMP (Linux + Apache + MySQL + PHP): I hear PHP is very bad for tracking errors through but it's supposed to be quite an easy language compared to Java/C#? Either way it feels like PHP has more community support available and is used generally for web anyway, especially for CRUD operations. I've found some tutorials on this too in PluralSight.
  • Python + Flask: Never used this but I hear Python is extremely easy to learn and use. I'm not sure what the pros and cons would be of using this.

These are all the software I've thought of so far. It's important that at this stage for a beginner they're easy to learn from and manage solo as a developer, and have enough support i.e. community, to jump to for questions or to google/watch tutorials.

What are your thoughts about this? I'd love to hear your recommendations, and thank you for your time.

  • In my opinion you will certainly find PHP easier to learn and, as you say, get great support. I recommend LAMP – Mawg Mar 5 at 12:57
1

There is so much choice.

I'm looking to develop a very basic webapp that lets users login with varying authentication and authorisation levels to CRUD (create / update / edit / delete) records of people.

That is possible with many languages.

This app is supposed to be available on AWS / Azure

What kind of execution model do you have in mind? Some virtual machine (e.g. Amazon Elastic Cloud) or one of the new finer grained services like AWS lambda or Azure functions?

and should be linked with a MySQL database.

This is one of the widest available and supported databases.

It's important that at this stage for a beginner they're easy to learn from and manage solo as a developer, and have enough support i.e. community, to jump to for questions or to google/watch tutorials.

There are many candidates for this, I do not see a big risk for you winding up in a trap, except maybe for selling your soul to PHP, but I know lots of devs who are happy in that niche, while others cringe about it.

A big choice is if you want to go open source or not. I tend towards the open source technologies but I know devs who did well with proprietary technologies.

In the old days you would walk to a tech book store and check the boards to get an idea. That is how I discovered C++ early. Today you could view the hit lists of an online seller or book providers like Safari.

Why not check a few of the popular languages and pick the one you like?

What does your environment use? E.g. I ended up with FreeBSD because I met some great FreeBSD devs at a job at university. This can be great for learning from them.

0

PHP has dozens of frameworks to make coding even easier than regular php. There is a learning curve, but once you got it, you got it.

Laravel
Symfony
Zend Framework
CodeIgniter
CakePHP
FuelPHP
Yii 2
Phalcon
Slim
PHPixie

Just name a few from a googled ton 10 list.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.