Coding All-in-One For Dummies. Nikhil Abraham
Чтение книги онлайн.
Читать онлайн книгу Coding All-in-One For Dummies - Nikhil Abraham страница 14
❯❯ 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.
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.
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.
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.
❯❯ 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 or to leak memory until the application