There is something about PHP that clicks better with me, sort of like how Vue clicks better with me than React.
My ultimate goal is to become a freelancer and work on a large-scale project I have been attempting to produce for a few years now.
I am wanting to create a web app for my city that includes forums, business reviews, and among other things. The main seller of this app is that users earn points everytime they participate in anything, which in return they can earn rewards.
What are your thoughts, and is PHP (and its framework Laravel) the right choice for this app in 2019?
Never have used it. By myself I jumped from Laravel to NodeJS and MongoDB. I believe you need real time things in this kind of project so for interactivity, real time functions NodeJS would be the option.
PHP is an awful terrible wretched language, but if you’re interested in jobs working on WordPress, Drupal, or MediaWiki, knowing PHP is a prerequisite. And given that there’s many jobs in those areas, I’d still say it’s a good skill for a freelancer to have. That said, I wouldn’t begin to think of starting a new project in PHP, only to maintain existing PHP code.
PHP feels like a language with a saturated market, it’s existed for a long time and as a PHP dev you will have more competition in the market. I would recommend picking up node or core instead as backend langugage.
If that’s what you want go ahead and do it man. For sure Laravel+Vue will work in your app without a problem. Just hop on into it. PHP might be messy but Laravel makes things a breeze. Be sure to stick with the best practices and just try to learn as much as you can, later that knowledge acquired can be transferred into any language really. The only thing you aren’t allowed to do is to stop learning!
But for such a large-scale app I am starting new individually, can I still use Laravel and it be a reliable choice for several years to come? The problem I am having with Node/Express is that I have to hunt for the packages I need, and these packages are developed by different people/teams, many of which do not collaborate with each other. In addition, I have to read the docs on all these packages and learn how to implement them. My fear is that these packages I pull in will not be maintained and will become deprecated, and then I have to constantly make adjustments to a large, enterprise app by myself.
I wouldn’t worry too much about Laravel’s continued support: it’s an extremely popular framework with many developers who can and do pick up slack when other devs leave the project. Even if every Laravel dev stopped developing it today, the user community would likely come in and continue supporting it. In other words, Laravel is a pretty safe choice.
(Whereas I’m stuck with freaking CodeIgniter for my one PHP project. Oh well, at least it’s small enough to hack on myself)