"You guys may not be following the internet like I do." former president Trump
That former president, like so many other people, confuses the World Wide Web - a service that comprises of web pages, email and so on, with the internet itself, which is a system of interconnected computer networks.
Another former US president, George W. Bush, coined the term 'interweb' during the 2004 election debate. That word is wrong too but it comes a little bit closer to illustrating the marriage of internet and web services.
Are we quibbling in dissecting these words? Does it feel like we're picking on US presidents? Read on to see why that's not so.
Another pair of web-related terms that causes confusion is 'web developer' and 'web designer'. A web developer creates web pages for clients to interact with on the World Wide Web but they also - mainly! - develop the back-end protocols and processes that allow websites to function.
If you're interested in becoming a web developer, you have to know the difference between a developer and a designer - a person who designs web pages according to clients' specifications, that comply with the existing internet protocols. Do you see the difference?
If you're here, that likely means you're interested in two things: learning about web design and how Python can help you excel.
Your Superprof lays the whole case out for you now.
A Bit of Web Development Background
As ubiquitous as the World Wide Web is today, it's hard to believe it's only been around a little over 30 years. By contrast, the Internet was been around since the 1960s.
Originally developed as a way for various US military branches to share information and time-share computers, funding by NGOs and private donors encouraged wider development of the service with the idea that it would become a public utility.
Enter Sir Tim Berners-Lee.
In 1990, he was installed at CERN, the European Organisation for Nuclear Research. After years of pleading with management, they finally saw the possibilities inherent in the system he was proposing. Until then, they'd been relying on the bare-bones internet capabilities to exchange emails between research facilities. Could this service be made available to the public?
By the end of that year, Sir Berners-Lee had everything in place to make the project a go: the transfer protocols, the languages, server software... Many of his innovations permeate the web still today. You've surely seen HTTP, HTML and FTP, right?
Those are all internet-specific acronyms that describe how information moves through the network and what language must be 'spoken' to make those moves happen. Respectively, they stand for:
- HTTP: hyperText transfer protocol (the essential component of data communication across the internet)
- HTML: hyperText markup language, the language used to write web pages
- FTP: file transfer protocol - the set of rules that govern file transfers over the internet
You might wonder about the constant use of 'protocol' when talking about the internet. Just like diplomats have protocols to follow - things they must do, things they should do and things they mustn't ever do, web developers have protocols they must follow, too.
Their protocols have nothing to do with diplomacy as humans practise it, even if it's similar in principle. Computer protocol is more a case of 'do things right or your program won't run'. This is where Python makes its welcome entrance.
Python is one of the best companions you can have as you learn web development; let's found out just how helpful it is.
And, also, find out how else Python can be used.
What Python Offers Web Developers
Human diplomats are lucky. They get to observe protocol in many ways, from not using inflammatory language to knowing when to visit, shake hands, curtsy or bow, and what type of gifts to offer. If they commit a faux-pas, they can usually correct their gaffe.
If you're a Star Wars fan, you might wonder why there are no protocol droids like C-P30 to advise them. Take heart! If machine learning continues at its current pace, maybe those droids are too far into the future...
Web developers are not so lucky in managing their protocols. They have to know what they're doing at all times. They have to know and observe all existing protocols and, if they establish a new one - say, they write a new programming language or utility, they have to make sure it will be compatible with every protocol already in place.
Wouldn't it be incredibly helpful if there were an already-assembled toolbox, curated by experienced web developers and continuously refreshed with new web design tools?
That query describes Python to a tee.
Python has a well-stocked toolbox written exclusively for web developers. These are called libraries; they contain modules of code called packages that contain metadata, test code and installation parameters and more. Generally speaking, PyPI, the Python package index is the main repository of all packages, some of which are meant specifically for web developers.
If you're developing a web application to visualise data, Dash is the package for you. It's loaded with dashboards, graphs and charts you can plug into your code.
Scrapy is the tool to use if you're mining data or writing an automated testing program and Requests allows you to easily request HTTP help to gather data from HTML pages and other sources.
Find good python tutorial here on Superprof.
Did you know that Amazon Web Services (AWS) offers a service that lets you bypass servers? Lambda takes virtually all practical concerns out of computing; you only need to worry about your code - namely, that it is Lambda-compatible.
Wouldn't you know it? Python has a library suited to developing serverless applications on Lambda. It's called Zappa, and it is easily retrievable from PyPI.
These four are the most useful libraries for web developers; if you were building your career in robotics, you would draw on other Python library resources. There are almost 300,000 to choose from so it's likely you'll find a library to address any situation you need a quick bit of code for.
Find good python classes here on Superprof.
Why Python is Well-Adapted to Web Development
At the dawn of the Information Age, web developers were serious sorts who called institutions like MIT, Oxford and, of course, CERN home. Today's web developers are no less serious but they're far less formal. Indeed, with access to the world wide web so abundant, some web developers forego hallowed halls to work from home.
It's not just ready access that sustains that phenomenon but the fact that web development itself is more accessible than ever... thanks to Python.
Python is easy to learn and even easier to use. You don't have to remember reams of code or syntax; Python is written in everyday language that even non-computer literate persons could recognise.
Python is a rich and fully-fleshed out environment that allows even novice programmers access to thousands of modules full of pre-written code. All a web developer using Python has to do is search for the appropriate library and module written for what they want their program to do and plug it in. Not only do they save time on typing everything out and debugging, but you can get your application up and running faster.
What if you're new to Python and don't quite know what you're looking for?
Pythonistas abound. They are enthusiastic about Python and want to see it widely used. They welcome coders of all stripes, even those who want to use Python in data science. That level of support, both from the Python community and other resources - documentation, tutorials and the like is just one reason why Python is one of the most popular programming languages today.
Find good python online tutorial here on Superprof.
How to Create a Python Web Application
By the time you've digested all of that, you're ready to design web pages but, if you want to get into web development, you have to go a bit further.
Getting Python fundamentals down prepares you for your forays into Django, Python's high-level web framework that allows you to set up your backend environment. It also makes it easier to set up your domain logic, also called business logic.
Helpful hint: knowing about databases and how to query will see you creating full-stack applications in no time!
Now, find out how to write a computer game in Python...
The platform that connects tutors and students