EVERY DEVELOPER WHO WISHES TO EMBRACE NEW TECHNOLOGY, HAS ONE QUESTION TO BEING WITH...
FROM WHERE AND HOW DO I START FROM ??
THIS IS HOW I STARTED BUILDING MY PROFILE IN WEB-DEVELOPEMNT
# Software stacks for LAMP developers #
# --> 'L'inux #
# --> 'A'pache #
# --> 'M'ySQL #
# --> 'P'HP #
############################################################################
The humble LAMP stack is popular for a reason. It combines several powerful
open-source software packages – a Linux OS, the Apache web server, the MySQL
database and the PHP scripting language – with each component complementing
the others to provide a full range of web development functionality.
But the LAMP stack isn’t the only option. In fact, it’s just the beginning.
With a whole host of variations on the LAMP stack, it’s possible to find a
web service stack that meets the exact needs of virtually any project.
Whether it’s substituting Apache for NGINX with LEMP, or choosing Windows
instead of Linux with WAMP, the LAMP stack model provides the ideal foundation
for many web applications. Then there are alternative takes on the web stack
concept, such as the MEAN stack and its variants. But with so much choice when
it comes to web software bundles, the right solution isn’t always obvious.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ What is a web stack? @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Web stacks, AKA software stacks or solution stacks, are bundles of software
used in web development. A web stack includes several components, typically
an operating system, web server, database and scripting language. Taken as a
whole, the stack provides everything needed to build a complete platform –
i.e. nothing else is required to run a specific application.
The operating system – usually Windows or Linux-based – provides the main interface
between the server hardware and the other parts of the software stack.
The web server – often Apache or NGINX – stacks on top of the OS to serve client
requests (e.g. from web browsers) with the appropriate content. This content can
be static, like HTML files and images that appear the same way for every user, or
dynamic, such as interactive forms and anything that reacts to user input. While
static content can be served directly by the web server, dynamic content is only
possible with the help of databases and scripting.
The database – which might be MySQL or MariaDB, just to name a couple of options –
stores the data that the web server needs to access in order to serve dynamic content
to clients. The database also needs to work in tight coordination with a scripting
language to deliver advanced functionality.
And scripting languages like PHP, Python, Perl and JavaScript run either on the server
or client-side. This code allows complex processes to be automated and executed on the
fly, enabling dynamic content to be generated based on a huge range of variables.
Working together, these services form a platform for a wide variety of websites and
applications. Depending on the needs of the project, different stack configurations
can fulfil very different needs. For example, while the LAMP stack is great for PHP-based applications such as WordPress, more JavaScript-focused projects will need a stack
that includes specialised frameworks.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ The LAMP stack and beyond @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Developers love LAMP for its open-source accessibility, community support and
customisation. As such, the LAMP stack provides the basis for a number of variations.
Twists on the LAMP formula include:
LEMP – which swaps out Apache for NGINX (the E comes from the pronunciation of
“engine-X”, since LNMP doesn’t exactly roll off the tongue)
LLMP – replacing Apache with lighttpd
LAPP – switching MySQL for PostgreSQL
With so many Linux distributions out there, it’s no surprise that these LAMP variants
all begin with L. If you’re a Linux developer, you’re likely to find a LAMP-like stack
that supports your tools of choice, whether it’s a specific web server or a particular
database. And for other operating systems, there are yet more options.
############################################################################
# Software stacks for MEAN developers
#
# --> 'M'ongoDB – a NoSQL database
# --> 'E'xpress – a web application framework for Node.js
# --> 'A'ngularJS – a JavaScript-based web application framework
# --> 'N'ode.js – a runtime environment
############################################################################
An alternative to the traditional LAMP stack setup, a MEAN stack comprises:
MongoDB – a NoSQL database
Express – a web application framework for Node.js
AngularJS – a JavaScript-based web application framework
Node.js – a runtime environment
Obviously, this is not the classic LAMP stack structure. The MEAN model isn’t dependent
on a particular OS, and Node.js can provide the functionality of a web server. This
means that MEAN is a slimmed-down option compared to LAMP, and because a single language – JavaScript – runs at every level of the stack, MEAN offers significant performance
advantages for JavaScript-based applications.
#######################################################
# Some variations on a MEAN software stack include:
#######################################################
MERN – using React instead of AngularJS
MEEN – replacing AngularJS with Ember.js
In a LAMP vs MEAN comparison, the deciding factor could well be the database:
MySQL vs MongoDB – or in other words, SQL vs NoSQL.
While SQL (relational) databases like MySQL and MariaDB are well-liked for their ability
to efficiently manage large data volumes in complex structures, NoSQL databases like
MongoDB are often preferred for their increased flexibility in smaller applications.
Ultimately, your choice of web stack will probably boil down to a particular tool or
set of tools that you need to use. Frequently this is a particular scripting language
like PHP or JavaScript, but equally it could be a specific web server, database or
framework. With so many possible configurations, the final decision rests on the
details of your project and your skill set as a developer.
###########################################################################
# IDE for web-development:
###########################################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 1. How to install Net Beans in ubuntu @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Netbeans is a full-featured cross-platform IDE that helps you build applications in
Java, PHP, and many other languages.
It has built-in debugging support, embedded Git control, integrates major build
automation tools such as Maven, Ant, and Gradle, syntax highlighting, code generators,
code templates, code refactoring, and rich navigation capabilities.
Netbeans is extensible via plugins and has well-documented APIs. It can also be used
for development in other programming languages such as C/C++, Groovy, Javadoc, JavaScript,
and more.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ Prerequisites @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
You’ll need to be logged in as a user with sudo access to be able to install packages
on your Ubuntu system.
Installing Java OpenJDK
Netbeans requires Java version 8 or above to be installed to your system.
We’ll install OpenJDK 8. The installation is pretty simple, start by updating the
package index:
--> sudo apt update
Install the OpenJDK 8 package by typing:
--> sudo apt install openjdk-8-jdk
Verify the installation by typing the following command which will print the
Java version:
--> java -version
The output should look something like this:
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Installing Netbeans IDE
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
sudo snap install netbeans --classic
netbeans 10.0 from 'apache-netbeans' installed
That’s it. Netbeans IDE has been installed on your Ubuntu desktop.
Starting Netbeans IDE
Now that Netbeans is installed on your Ubuntu system you can start it typing netbeans in your terminal or by clicking on the Netbeans icon (Activities -> Netbeans):
Once the Netbeans IDE is loaded, you’ll be presented with the Start page: