 
    
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>back-end Archives - Complete, Concrete, Concise</title>
	<atom:link href="https://complete-concrete-concise.com/tag/back-end/feed/" rel="self" type="application/rss+xml" />
	<link>https://complete-concrete-concise.com/tag/back-end/</link>
	<description>Practical Information Without The Bloat</description>
	<lastBuildDate>Fri, 16 Mar 2018 16:02:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Understanding the Difference Between &#034;Front-End&#034;, &#034;Back-End&#034;, and &#034;Full-Stack&#034;.</title>
		<link>https://complete-concrete-concise.com/tutorials/webdev/introduction/understanding-the-difference-between-front-end-back-end-and-full-stack/</link>
		
		<dc:creator><![CDATA[richardsplanet]]></dc:creator>
		<pubDate>Fri, 16 Mar 2018 16:02:04 +0000</pubDate>
				<category><![CDATA[Introduction]]></category>
		<category><![CDATA[back-end]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[full-stack]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[understanding]]></category>
		<guid isPermaLink="false">https://complete-concrete-concise.com/?p=3435</guid>

					<description><![CDATA[<p>Learn what Front-End, Back-End, and Full-Stack mean.</p>
<p>The post <a href="https://complete-concrete-concise.com/tutorials/webdev/introduction/understanding-the-difference-between-front-end-back-end-and-full-stack/">Understanding the Difference Between &quot;Front-End&quot;, &quot;Back-End&quot;, and &quot;Full-Stack&quot;.</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="preamble">
The terms <strong>Front-End</strong>, <strong>Back-End</strong>, and <strong>Full-Stack</strong> come up often in Web Development.<br />
What do they mean?
</div>
<h2 id="front-end">Front End</h2>
<p>Front-End, basically, means everything that happens in the browser. This includes the page design (layout, colours, typography), behaviour, and implementation.<br />
HTML, CSS, and JavaScript are the three main technologies used in front-end development:</p>
<ul>
<li>HTML is the foundation on which all webpages are built, so it is essential.</li>
<li>CSS allows you to customize the look of HTML. It is not essential, but webpages without CSS look very plain.</li>
<li>JavaScript is not essential, but it allows you to add special behaviour to a webpage that is not possible using HTML and CSS alone. Many websites can be built without using JavaScript.</li>
</ul>
<p>In addition to those three technologies, a front-end developer will likely use additional technology in the form of frameworks, libraries, and tools such as:</p>
<ul>
<li>jQuery</li>
<li>Bootstrap</li>
<li>express.js</li>
<li>SASS</li>
<li>LESS</li>
<li>YAML</li>
<li>AngularJS</li>
<li>AJAX</li>
</ul>
<p>Front-end development can be as simple as basic a webpage, as complicated as managing a database<a id="fnref1" class="footnote-ref" href="#fn1"><sup>1</sup></a>, or as challenging as writing a game.<br />
Front-end development can be, roughly, divided into:</p>
<ul>
<li><strong>Design</strong>: the layout, look, colours, typography, usability</li>
<li><strong>Implementation</strong>: turning the design into something functional</li>
</ul>
<p>As well, front-end development skills can also be used for writing browser extensions for Mozilla Firefox, Google Chrome, Microsoft Edge, and Apple Safari &#8211; because they all use HTML, CSS and JavaScript.<br />
In the past, there were more front-end technologies, but these are, effectively, obsolete:</p>
<ul>
<li>VBScript</li>
<li>ActionScript</li>
<li>Flash</li>
<li>Java</li>
<li>and others</li>
</ul>
<h2 id="back-end">Back-End</h2>
<p>Back-End, basically, means everything that happens on the server. This mostly involves database work and processing data on the server to be sent to the browser.<br />
A programming language (or two), a database, and server software are the main technologies used in back-end development. However, there is a lot more variety in back-end technology than in front-end technology.<br />
Much of the skills and knowledge of front-end development are also applicable for back-end work because the back-end (<strong>server</strong>) has to send HTML pages to the front-end (browser or <strong>client</strong>).<br />
In terms of programming languages, the following are commonly used for back-end development:</p>
<ul>
<li>PHP</li>
<li>Python</li>
<li>Ruby</li>
<li>Java</li>
<li>C#</li>
<li>C++</li>
<li>Perl</li>
<li>Scala</li>
<li>JavaScript</li>
<li>and many more</li>
</ul>
<p>Relational and non-relational databases are used (though, usually not on the same project):</p>
<ul>
<li>MySQL</li>
<li>MariaDB</li>
<li>MongoDB</li>
<li>and many others</li>
</ul>
<p>There is also the server technology that is used:</p>
<ul>
<li>Apache</li>
<li>nginx</li>
<li>node.js</li>
<li>and many more</li>
</ul>
<p>There are also many frameworks and libraries that are used:</p>
<ul>
<li>WordPress</li>
<li>Django</li>
<li>Ruby on Rails</li>
<li>Laravel</li>
<li>Symfony</li>
<li>CodeIgnitor</li>
<li>KOA</li>
<li>Flask</li>
<li>and many more</li>
</ul>
<p>Backend-end development can be, roughly, divided into:</p>
<ul>
<li><strong>Database Design</strong>: the structure of the database</li>
<li><strong>Application Coding</strong>: this is the algorithms, processing, and flow of data through the back-end. This may be even further subdivided.</li>
<li><strong>Glue Coding</strong>: this is code that binds the database, application, and server technology together</li>
<li><strong>Server</strong>: for most small installations, the default configuration of the server is often “good enough” (assuming it has been properly secured). However, for larger servers, or more complex tasks, there can be custom server development and configuration. While this could be lumped together with <strong>Application Coding</strong> it is a sufficiently complex task that needs to be done independently of everything else</li>
</ul>
<h2 id="full-stack">Full-Stack</h2>
<p>Full-Stack refers the <em>full-stack of technology</em>, which is everything from the front-end all the way to the back-end.<br />
So full-stack means everything that occurs on the server, in the browser and everything in between.<br />
While there is a lot of technology involved (not to mention design issues), it is possible to learn enough to be a proficient full-stack developer. It is not about learning everything, it is about learning enough to do what you need.</p>
<section class="footnotes">
<hr />
<ol>
<li id="fn1">HTML5 browsers have a database called IndexDB that can be used for managing data on the <strong>client</strong> side. A common use is to replicate much of the functionality of the <strong>server</strong> so that even if the <strong>client</strong> is not connected to the <strong>Internet</strong>, the web application can still be used. This is becoming increasingly important as people expect their apps to always work.<a class="footnote-back" href="#fnref1">↩</a></li>
</ol>
</section>
<p>The post <a href="https://complete-concrete-concise.com/tutorials/webdev/introduction/understanding-the-difference-between-front-end-back-end-and-full-stack/">Understanding the Difference Between &quot;Front-End&quot;, &quot;Back-End&quot;, and &quot;Full-Stack&quot;.</a> appeared first on <a href="https://complete-concrete-concise.com">Complete, Concrete, Concise</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
