Laravel vs Beego: What are the differences?
Laravel: A PHP Framework For Web Artisans. It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching; Beego: An open-source, high-performance web framework for the Go programming language. It is a RESTful HTTP framework for the rapid development of Go applications including APIs, web apps and backend services with integrated Go specific features such as interfaces and struct embedding.
Laravel and Beego can be primarily classified as "Frameworks (Full Stack)" tools.
Some of the features offered by Laravel are:
- Template Engine
- MVC Architecture Support
- Eloquent ORM (Object Relational Mapping)
On the other hand, Beego provides the following key features:
- Struct embedding
- Rapid Development
Laravel and Beego are both open source tools. It seems that Laravel with 54.4K GitHub stars and 16.7K forks on GitHub has more adoption than Beego with 21.6K GitHub stars and 4.38K GitHub forks.
I've heard PHP is very popular in the freelance world. I don't know PHP. However, I'm sure it wouldn't be difficult to learn since it has many similarities with Java (OOP). It seems to me that Laravel has similarities with Spring Boot (it's MVC and OOP). Also, people say Laravel works well with Vue.js, which is my favorite JS framework.
The projects I would like to work on are custom web applications/websites for small businesses. I have developed custom ERPs before and found that Java was a good fit, except for it taking a long time to develop. I cannot make a choice, and I am constantly switching between trying PHP and Node.js/Express. Any real-world advice would be welcome! I would love to find a stack that I enjoy while doing meaningful freelance coding.
Hi Eva, As you have solid experience with Spring already, you should jump into freelancing with that. It would be quite stressful to start freelancing with a tech stack you don't know well. Then in the background you can keep learning/practicing an alternative and switch over when you are confident enough (eg. 0.5-1 year later). I think you should learn Laravel as you already like it and find it easier. Express has better performance but that is not required for most of the small freelancer projects.
Note: These are all my opinions and what I've seen in the current market when recently searching for jobs.
I think Patrik and Alex are right: if you're comfortable with Spring Boot already, you'll be more productive right from the start.
If you wish to learn something else besides, both Laravel and Express are good choices. They aren't in the same category of frameworks: Laravel is an all-in-one solution, while Express is more like "build your own stack from different parts". Which implies that you can use whatever you want as a database engine: MySQL or PostgreSQL are perfectly valid choices (in my school, we teach Express with MySQL, because SQL is still a big thing here in France, and a sought-after skill). You can use Sequelize or TypeORM which support all major SQL DBMS.
Bottom line: using a stack tech, that you enjoy and are comfortable with, matters. Spring Boot + Vue.js seem perfectly fine to me. But do forget jQuery if you're using Vue.js, React or Angular, because it will definitely bring more harm than good!
I would definitely recommend you to go with Spring Boot + AngularJS + jQuery. Reasons: 1- You have an experience of 4 years with the above-mentioned stack. 2- As you mentioned that you wish to work as a freelancer, your stack is the perfect one for finding good bids with a little less effort than that of PHP + Laravel + Vue.js.
Hi as someone who employs and select developers i agree with a lot almost sayed but think of what are your strengths and where you are or better where your customers are. If you search for big enterprise projects spring boot is ok sql is must and html css as well. if you want to go more to internet related companies (like airbnb, what sup, facebook ) or similar (and not asia) then react is a must node js as well. The libraries tools etc which are used you need to adopt fast. If asia then VUE is a must. but if you like small projects with individuals or like wordpress or similar then you can learn php but i think in 2020 it is wasted time. Same for python in that area. and i also see that we often have problem that developer at least must understand docker docker compose better as it works with kubernetes ,.. just my 5 cents
As a developer myself, I would recommend you not to restrict yourself to JAVA, PHP or any other language. New Tools/languages keep coming every day. If you do plan to move to freelancing. PHP has a lot of options in the freelance space and a lot of competition too.
Learning PHP is as simple as learning any other language. It depends merely on your interest.
I agree with you JAVA is a lot more time consuming. But it also has its enterprise level scope.
At the same time learning a new language should not be a barrier for you to stop exploring what's out there and keeping your skills up to date. Learning new technologies should be your primary focus and getting project out of your stack helps you build a good reputation.
There are many options for you to pursue. Having an open mindset will help you move forward. If you look to learn now, you are setting yourself up for a brighter future.
in order to stay employable, I'd work with something you can deliver with. if I'd be your client and you'd have to get comfortable with a new stack, I would 100% not pay you for this startup time. learn new stuff in your free-time. or set aside time for learning.
regarding expressjs and mongodb: yes, it is a goto solution for a lot of tutorials, because its as simple as it gets. especially wben using something like monk. BUT if you want to use mysql, posgres or similar, check out TypeORM, Prism or another ORM-like solution. you can use any db with express, and there's plenty of abstraction layers, which make your life easier. but i noticed that expressjs does a lot less "holding hands" compared to .net core (c#), or laravel (php). can be a pro or a con.
Hello... I hope everyone is ok amid today's global situation.
I'm trying to choose the perfect stack for a new mobile app project that resembles the super apps like GoJek & Grab.
I have gone to BUILTWITH and seen what their stack on all fronts.....however, and even though, they both differ from one another, I'm still looking for the perfect stack that will give us PERFORMANCE & SCALABILITY for years to come.
Your comments & suggestions are very important to us, so please share your thoughts.
We also plan to integrate WordPress and WooCommerce later with our Laravel web-app. WordPress and WooCommerce like Laravel are all built using PHP. WordPress is the most popular Content Management System in the world. This will allow us to build out the front-end marketing website in WordPress. Also, we plan to offer subscriptions and sell products. For this, we will use WooCommerce. WooCommerce is the most used e-commerce platform in the world. We’ll be able to use our same Laravel developers to extend our app to WordPress and WooCommerce. By standardizing on PHP, we’ll be able to use the same software developers on all 3 platforms. PHP’s large market share will be an asset to us as we start recruiting talented software developers.
Lastly, we are gaining access to a fast-growing and awesome community that supports Laravel. Before we made our decision, I personally met Laravel’s founder Taylor Otwell along with several of his team members. After meeting with the Laravel team at Laracon US in New York City and learning more about the direction they are going with the framework, we’re confident we made the right decision.
To read the longer version of this answer where we go into more detail behind our recommendation, visit https://rackless.com/laravel-rails-expressjs
Before I recommend a tool, I think it is important to look at your requirements and capabilities - as you have looked at 3 very different tools: different programming languages, different implementation strategies and different target audience. It sounds like you don't already have a set of dedicated developers, so it is likely that your choice should be mainly driven by how easy it is to get developers that are familiar with the tools - so I'm going to list some considerations that I think you should review, starting with what I believe would be the most important for your bootstrap process:
Fit for purpose: from your description we can understand that you are looking at a backend technology to implement some sort of REST API for a mobile app. The 3 different options you offered each fit on a different place on such a stack: Ruby is a programming language and not even a service framework - if you choose it, you then have to choose a server implementation and REST framework (and there are a lot, mostly as Ruby has a standard API for connecting a web server and application frameworks, and so this space has blown up) it used to be that Rails was the most popular, so you may choose that, but the interest in it has waned a bit in recent years; Node.js is a server framework, but it also has a dominant application framework called Express, that is geared well to your usage, so you'd likely work with that; Laravel is an application framework - it uses the PHP programming language, whose use has declined a bit in recent years, and was originally built for MVC type applications - though it has workflows for REST APIs and would probably work well for you as well.
Scalability: while this is probably the least significant issue at the moment (when it gets to a point where the backend service is your bottleneck, you'd likely have enough resources for a rewrite), and also the most dependent on factors that you didn't specify and are hard to estimate (such as: session complexity; amounts of data; sensitivity to locality; sensitivity to latency), it is still worthy to address it. Unfortunately, I don't have any good news: Ruby is notoriously bad at getting the best performance (the current BKM for milking performance from a Ruby codebase is to run the app on the Java virtual machine); Node.js has severe memory limitations that will make it very hard to scale if your backend needs to do a lot of work (I have a very personal and troubling experience with this issue); and PHP has as many scalability optimization strategies as there are PHP developers (this is not a good thing).
That's a really ambitious project. So you're going to want to move as quickly as possible. That means choosing a software stack that will allow you to move the most quickly. Of the ones you've listed, Ruby (Ruby on Rails, more precisely) will give you that. There are probably other options that would allow you to move even more quickly than Rails, but developers for those more advanced stacks are much more expensive, and hard to find.
Rails can and does scale to millions of users. It's not necessarily easy, but if you're running a successful app, you'll be able to afford people to help you scale out when you reach that point. But if you choose a slower framework (or have bad developers) you won't even reach the point of needing scalability.
I want your suggestions in order for me to decide which stack is suitable for the below-mentioned requirement.
Currently, I am considering building it in Wordpress (Starting with prebuilt plugins and develop on it)
But I am skeptical, so I am considering Laravel.And recently I found one very good solution built in Angular, Node and MySQL
Here are the high-level goals I am trying to achieve:
The system has 3 modules
- Multi-Vendor e-commerce Market Place
- Peer to peer Selling of used items
- Listing/ Directory kind of portal for the service industry
I would lean between Drupal and Laravel. Peer to peer selling shouldn't be too hard to set up using Drupal Commerce based modules (search for Marketplace). But if you don't find most of your requirements being met, you might want to go with Laravel. I know there are modules for Drupal that would help you achieve most of your requirements, so I would suggest doing some research there first.
Hi, We are thinking to rebuild a website and need your suggestion on which platform to choose from NodeJs, Laravel & CodeIgnitor. Since it's an education base website and there will be multiple functionalities like the use of graphics, video, animation and off-course forms for lead generation. Please advise us which tool to use to build the website considering load-time, server security, code vulnerability, etc.
Node.js is great but if I had a choice for something like this I would pick Elixir and Phoenix. They have LiveViews and channels which be one step up then the other 3 plateforms. It will also scale better and respond faster. Last will probably far less code as well.
Node.js is the perfect tech to real-time features like chats, forums, quizzes and polls. Additionally it has great support for objects storage like Mongodb and its important for file media management.
I would suggest you to pick the right stack for the right purpose. My suggestion would be to go for Microservices approach and break your app into smaller pieces according to the type of functionality like you mentioned above. E.g if you would be expecting the high traffic on you platform, then Node.js can be used as the endpoint there to handle that traffic. Normal form processing can be done in Laravel but I would not suggest codeigniter as managing code is difficult there.
So this way you can decide do architecture you app and can use the best of the feature from all the languages. Even it would be easier for you to manage your app based on the functionality and team who will be working on that. Hope you would like my suggestions.
I want to create a video sharing service like Youtube, which users can use to upload and watch videos. I prefer to use Vue.js for front-end. What do you suggest for the back-end? Node.js or Laravel ( PHP ) I need a good performance with high speed, and the most important thing is the ability to handle user's requests if the site's traffic increases. I want to create an algorithm that users who watch others videos earn points (randomly but in clear context) If you have anything else to improve, please let me know. For eg: If you prefer React to Vue.js. Thanks in advance
Node is light and scalable and has been used widely for enterprise solutions that need faster response, reliability and better performance. But at the end of the day, for me, when I start a project, I don't shoot for the stars. I build a small application with the possibility to scale in the future that will test my business idea. If the idea is getting volume then I really start thinking about how am I going to build this aiming a specific volume.
Hello , Our first version of www.voilacabs.com was programed with Code Ignitor PHP API's, and at times during peak hours when there were huge request's made the response time use to vary from 500 MS to 1 Minute, also at time's we might have to end up restarting PHP-FPM which use to bring things to normal.
Also PHP lacks features like promises queue, Asyc task, etc. which is supported in Node.js. In our V1 release we shifted to Node.js and since last 7 month's we see no lag in any API response, also all our API's are responding in 200-300 Milli Second's with about 8000+ Fleet's in peak hours. So my suggestion is to go with Node.js also you can either go with Mysql or MongoDB ( depending on the usage ) for DB choice's.
When it comes to hosting you can go with group replication which can be replicated across 3 different datacenters for your data safety. This approach will make your system largely scalable at 80% less price then amazon webservcies.
I hope that help's .
I have used both node and php in different projects. If it is true that initially node has better performance, in reality there is not much difference and feeling comfortable in the environment you use is very important. Also well written and optimized code. Php is also used by small and large companies. We have a file processing project that responds in less than 300ms with thousands of concurrent users and more than a million daily visits. And the key is to be able to develop quickly and efficiently. Personally I am much better in php than in node, so my code in php is much more clean and optimal than in node, so that's my option. I also find it easier to find php professionals than node, something very important to consider in a project. So the answer would be: choose the environment with which you feel more comfortable, because it will be with which you will have to fight every day.
Laravel is a great solution to build web-based application using php. Of course it is matter which php version will you use, but php is much easier to develop, maintain and deploy.
The problem I have is: build a scalable backend API decoupled as much as possible from the frontend. And more in general, to build a Web application using some kind of frontend. I would like to compare mainly Liferay with Spring Boot
The most important factors for me are: scalable backend, API documentation, TDD, integration with frontend application for modern reactive interaction
It's a general development question, be more specific, because /dev/std... is a generic approach, not a targeted development. You want to develop PHP or Java? Both are good in their terms, but it's your decision. For PHP Laravel is a robust and exhaustive console enabled framework, featuring rich integrations with virtualization & REST. On the other hand, Spring will bring you learning curve if you are switching from PHP and so on. Try to match your needs with project requirements, it will be easier.
Laravel is lighter weight. Spring Boot quickly becomes a handful, as you'll be downloading hundreds of megabytes in dependencies for a few functions and a dynamic dependency there. There are multiple problems that are solved by "download and put it on your classpath by whatever means. Spring framework will automatically detect it and resolve the issue". It's magical when things work, but my teams have constantly found the limits of the framework's utility and starting points of their burden.
While my expertise with Laravel is more limited, I haven't seen this kind of mess in that community and God bless 'em for it.
i find python quite resourceful. given the bulk of libraries that python has and the trends of the tech i find django which runs on python to be the framework of choice to the upcoming web services and application. Laravel on the other hand which is powered by PHP is also quite resourceful and great for startups and common web applications.
When I started on this project as the sole developer, I was new to web development and I was looking at all of the web frameworks available for the job. I had some experience with Ruby on Rails and I had looked into .net for a bit, but when I found Laravel, it felt like the best framework for me to get the product to market. What made me choose Laravel was the easy to read documentation and active community. Rails had great documentation, but lacked some features built in that I wanted out of the box, while .net had a ton of video documentation tutorials, but nothing as straightforward as Laravels. So far, I am happy with the decision I made, and looking forward to the website release!