Coding All-in-One For Dummies. Nikhil Abraham. Читать онлайн. Newlib. NEWLIB.NET

Автор: Nikhil Abraham
Издательство: John Wiley & Sons Limited
Серия:
Жанр произведения: Зарубежная образовательная литература
Год издания: 0
isbn: 9781119363033
Скачать книгу
websites across eight or more browser versions. Developing for older browsers is typically more difficult because they support fewer features and require more code to achieve the same effect as modern browsers.

      ❯❯ CSS tools: Developers use precompilers and CSS frameworks to make coding in CSS easier:

      • Precompilers extend CSS functionality with features such as variables and functions, which make it easier to read and maintain CSS code.

      CSS frameworks, such as Bootstrap and Base, provide prewritten HTML and CSS code that makes it easier to develop a website with a consistent look across desktop and mobile devices.

      Proficiency in all precompilers and frameworks is unnecessary, but knowledge of one precompiler and framework can be helpful.

      ❯❯ JavaScript frameworks: Developers use prewritten JavaScript code called a JavaScript framework to add features to web pages. Some popular JavaScript frameworks are Angular.js and Ember.js. Proficiency in the over 30 JavaScript frameworks is unnecessary, but knowing one or two can be helpful.

      Words like HTML, CSS, and JavaScript might seem intimidating at first, especially if you have no prior experience in web development. I mention some terminology here and also in the glossary because knowing the names of these programming language is the first step to learning more about each of them.

      None of the work a web developer does would be possible without product managers and designers. Developers work with product managers to ensure that the product scope and timelines are reasonable. Additionally, product managers make sure that the technical and nontechnical teams are communicating and aligned. Developers also work with designers who create mockups, or illustrations of the website, images, and the flow users take to move between web pages. After the mockups are created, front-end developers code the website to match the mockups as closely as possible.

      Back-end web development

      Back-end web developers code everything that is not visible on the web page but is necessary to support the front-end developer’s work. Back-end development happens in the following three places:

      ❯❯ Server: The server is the computer hosting the coding files that include the website application and the database. When you visit www.google.com, for example, your web browser requests the web page from Google servers, which respond with a copy of the web page you see in your browser.

      ❯❯ Application: The application handles the content in web pages sent to users and the changes made to the database. Applications are written using programming languages like Ruby, Python, and PHP, and run only on the server. Proficiency in one language is usually sufficient.

      ❯❯ Database: The database stores website and user data so it is available for future browsing sessions. The simplest database is an Excel spreadsheet, which is ill suited for web development. Databases such as PostgreSQL and MongoDB are optimized for website use; usually only one these databases is used per website.

      As an example of back-end web development, suppose that you visit www.amazon.com using your web browser. Your computer makes a request to the Amazon server, which runs an application to determine what web content to serve you. The application queries a database, and past purchases and browsing show that you have an interest in technology, legal, and travel books. The application creates a web page that displays books matching your interests, and sends it to your computer. You see a book on bike trails in New York, and click to purchase it. After you enter your credit card and shipping details, the application stores the information in a database on the server for easy checkout in the future.

      For back-end developers, one major part of the job is writing code for the application and database to render web pages in the browser. Employers are interested in additional skills such as these:

      ❯❯ Scaling: Back-end developers must change and optimize application code, servers, and databases to respond to increases in website traffic. Without the right planning, a mention of your website on a morning talk show or in the newspaper could result in a “website not available” error message instead of thousands of new customers. Scaling involves balancing the cost of optimizing the website with leaving the configuration as-is.

      ❯❯ Analytics: Every online business, whether large or small, has key website performance indicators, such as new user signups and retention of existing users. Back-end developers can implement and track these metrics by querying information from the website database.

      ❯❯ Security: Websites with a substantial number of users become a target for all types of security risks. Attackers may automate signups, in which fake profiles post spam that promotes unrelated products. Additionally, you may receive a massive amount of traffic in a short period of time, called a denial of service attack, which prevents legitimate customers from accessing your website. Or attackers might try to detect weaknesses in your servers to gain unauthorized access to sensitive information such as email addresses, passwords, and credit card numbers. In 2014, major data breaches were uncovered at large corporations including Sony, Target, and JP Morgan. Prevention of these attacks rests, in part, with back-end developers.

      The back-end developer is a part of the product team and works closely with front-end developers and product managers. Unlike front-end developers, back-end developers do not interact frequently with designers because the job is not as visual or based on website appearance.

      Mobile application development

      Mobile application developers create applications that run on cell phones, tablets, and other mobile devices. Mobile applications can be more challenging to create than browser-based websites because users expect the same functionality on a device without a dedicated keyboard and with a smaller screen.

      In 2014, users purchased and spent more time on mobile devices than traditional PC desktops, marking a major milestone and the continuation of a trend years in the making.

      Users today prefer to download and use native mobile applications from an app store, though it is possible to create mobile optimized websites that run in the browser using HTML, CSS, and JavaScript. The two most popular app stores are

      ❯❯ The Apple App Store, which hosts apps for iOS devices such as iPhones and iPads

      ❯❯ The Google Play Store, which hosts apps for phones and tablets running the Android operating system

      Developers code apps for iOS devices by using the Objective-C and Swift programming languages, and they code apps for Android devices by using Java.

      Objective-C, which was invented in 1983, is traditionally and currently used to create iOS apps. Swift is a new programming language that Apple created and released in 2014. This programming language was designed from the ground up as a replacement for Objective-C.

      Mobile developers are in high demand as mobile usage overtakes browsing on traditional PCs. In addition to creating apps, employers also value these skills:

      ❯❯ Location services: The service most frequently integrated into and used in mobile applications is location. Maps, reservation, and transportation applications all become more useful when they take into account your current location.

      Location services consume battery life rapidly, although specialized techniques can reduce battery drain. Mobile developers who understand these techniques will have a leg up on the competition.

      ❯❯ Application testing: The number of devices that a mobile developer has to consider is staggering. In addition, an errant line of code can cause a mobile application to install incorrectly