A web browser is a software application for accessing information on the World Wide Web. Each individual web page and video is identified by a distinct Uniform Resource Locator, enabling browsers to retrieve these resources from a web server and display them on the user's device. A web browser is not the same thing as a search engine, though the two are confused. For a user, a search engine is just a website, such as google.com, that stores searchable data about other websites. But to connect to a website's server and display its web pages, a user needs to have a web browser installed on their device; the most popular browsers are Chrome, Safari, Internet Explorer, Edge. The first web browser, called WorldWideWeb, was invented in 1990 by Sir Tim Berners-Lee, he recruited Nicola Pellow to write the Line Mode Browser, which displayed web pages on dumb terminals. 1993 was a landmark year with the release of Mosaic, credited as "the world's first popular browser". Its innovative graphical interface made the World Wide Web system easy to use and thus more accessible to the average person.
This, in turn, sparked the Internet boom of the 1990s when the Web grew at a rapid rate. Marc Andreessen, the leader of the Mosaic team, soon started his own company, which released the Mosaic-influenced Netscape Navigator in 1994. Navigator became the most popular browser. Microsoft debuted Internet Explorer in 1995. Microsoft was able to gain a dominant position for two reasons: it bundled Internet Explorer with its popular Microsoft Windows operating system and did so as freeware with no restrictions on usage; the market share of Internet Explorer peaked at over 95% in 2002. In 1998, desperate to remain competitive, Netscape launched what would become the Mozilla Foundation to create a new browser using the open source software model; this work evolved into Firefox, first released by Mozilla in 2004. Firefox reached a 28% market share in 2011. Apple released its Safari browser in 2003, it remains the dominant browser on Apple platforms. The last major entrant to the browser market was Google, its Chrome browser, which debuted in 2008, has been a huge success.
Once a web page has been retrieved, the browser's rendering engine displays it on the user's device. This includes video formats supported by the browser. Web pages contain hyperlinks to other pages and resources; each link contains a URL, when it is clicked, the browser navigates to the new resource. Thus the process of bringing content to the user begins again. To implement all of this, modern browsers are a combination of numerous software components. Web browsers can be configured with a built-in menu. Depending on the browser, the menu may be named Options, or Preferences; the menu has different types of settings. For example, users can change their home default search engine, they can change default web page colors and fonts. Various network connectivity and privacy settings are usually available. During the course of browsing, cookies received from various websites are stored by the browser; some of them contain login credentials or site preferences. However, others are used for tracking user behavior over long periods of time, so browsers provide settings for removing cookies when exiting the browser.
Finer-grained management of cookies requires a browser extension. The most popular browsers have a number of features in common, they allow users to browse in a private mode. They can be customized with extensions, some of them provide a sync service. Most browsers have these user interface features: Allow the user to open multiple pages at the same time, either in different browser windows or in different tabs of the same window. Back and forward buttons to go back to the previous page forward to the next one. A refresh or reload button to reload the current page. A stop button to cancel loading the page. A home button to return to the user's home page. An address bar to display it. A search bar to input terms into a search engine. There are niche browsers with distinct features. One example is text-only browsers that can benefit people with slow Internet connections or those with visual impairments. Mobile browser List of web browsers Comparison of web browsers Media related to Web browsers at Wikimedia Commons
Cascading Style Sheets
This cascading priority scheme is predictable. The CSS specifications are maintained by the World Wide Web Consortium. Internet media type text/css is registered for use with CSS by RFC 2318; the W3C operates a free CSS validation service for CSS documents. In addition to HTML, other markup languages support the use of CSS including XHTML, plain XML, SVG, XUL. CSS has a simple syntax and uses a number of English keywords to specify the names of various style properties. A style sheet consists of a list of rules; each rule or rule-set consists of one or more selectors, a declaration block. In CSS, selectors declare which part of the markup a style applies to by matching tags and attributes in the markup itself. Selectors may apply to the following: all elements of a specific type, e.g. the second-level headers h2 elements specified by attribute, in particular: id: an identifier unique within the document class: an identifier that can annotate multiple elements in a document elements depending on how they are placed relative to others in the document tree.
Classes and IDs are case-sensitive, start with letters, can include alphanumeric characters and underscores. A class may apply to any number of instances of any elements. An ID may only be applied to a single element. Pseudo-classes are used in CSS selectors to permit formatting based on information, not contained in the document tree. One example of a used pseudo-class is:hover, which identifies content only when the user “points to” the visible element by holding the mouse cursor over it, it is #elementid: hover. A pseudo-class classifies document elements, such as:link or:visited, whereas a pseudo-element makes a selection that may consist of partial elements, such as::first-line or::first-letter. Selectors may be combined in many ways to achieve great flexibility. Multiple selectors may be joined in a spaced list to specify elements by location, element type, id, class, or any combination thereof; the order of the selectors is important. For example, div.myClass applies to all elements of class myClass that are inside div elements, whereas.myClass div applies to all div elements that are in elements of class myClass.
The following table provides a summary of selector syntax indicating usage and the version of CSS that introduced it. A declaration block consists of a list of declarations in braces; each declaration itself consists of a property, a colon, a value. If there are multiple declarations in a block, a semi-colon must be inserted to separate each declaration. Properties are specified in the CSS standard; each property has a set of possible values. Some properties can affect any type of element, others apply only to particular groups of elements. Values may be keywords, such as "center" or "inherit", or numerical values, such as 200px, 50vw or 80%. Color values can be specified with keywords, hexadecimal values, RGB values on a 0 to 255 scale, RGBA values that specify both color and alpha transparency, or HSL or HSLA values. Before CSS, nearly all presentational attributes of HTML documents were contained within the HTML markup. All font colors, background styles, element alignments and sizes had to be explicitly described repeatedly, within the HTML.
CSS lets authors move much of that information to another file, the style sheet, resulting in simpler HTML. For example, sub-headings, sub-sub-headings, etc. are defined structurally using HTML. In print and on the screen, choice of font, size and emphasis for these elements is presentational. Before CSS, document authors who wanted to assign such typographic characteristics to, all h2 headings had to repeat HTML presentational markup for each occurrence of that heading type; this made documents more complex and more error-prone and difficult to maintain. CSS allows the separation of presentation from structure. CSS can define color, text alignment, borders, spacing and many other typographic characteristics, can do so independently for on-screen and printed views. CSS defines non-visual styles, such as reading speed and emphasis for aural text readers; the W3C has now deprecated the use of all presentational HTML markup. For example, under pre-CSS HTML, a heading element defined with red text would be written as: Using CSS, the sam
PHP: Hypertext Preprocessor is a general-purpose programming language designed for web development. It was created by Rasmus Lerdorf in 1994. PHP stood for Personal Home Page, but it now stands for the recursive initialism PHP: Hypertext Preprocessor. PHP code may be executed with a command line interface, embedded into HTML code, or it can be used in combination with various web template systems, web content management systems, web frameworks. PHP code is processed by a PHP interpreter implemented as a module in a web server or as a Common Gateway Interface executable; the web server combines the results of the interpreted and executed PHP code, which may be any type of data, including images, with the generated web page. PHP can be used for many programming tasks outside of the web context, such as standalone graphical applications and robotic drone control; the standard PHP interpreter, powered by the Zend Engine, is free software released under the PHP License. PHP has been ported and can be deployed on most web servers on every operating system and platform, free of charge.
The PHP language evolved without a written formal specification or standard until 2014, with the original implementation acting as the de facto standard which other implementations aimed to follow. Since 2014, work has gone on to create a formal PHP specification. PHP development began in 1994 when Rasmus Lerdorf wrote several Common Gateway Interface programs in C, which he used to maintain his personal homepage, he extended them to work with web forms and to communicate with databases, called this implementation "Personal Home Page/Forms Interpreter" or PHP/FI. PHP/FI could be used to build dynamic web applications. To accelerate bug reporting and improve the code, Lerdorf announced the release of PHP/FI as "Personal Home Page Tools version 1.0" on the Usenet discussion group comp.infosystems.www.authoring.cgi on June 8, 1995. This release had the basic functionality that PHP has today; this included Perl-like variables, form handling, the ability to embed HTML. The syntax was simpler, more limited and less consistent.
Early PHP was not intended to be a new programming language, grew organically, with Lerdorf noting in retrospect: "I don't know how to stop it, there was never any intent to write a programming language I have no idea how to write a programming language, I just kept adding the next logical step on the way." A development team began to form and, after months of work and beta testing released PHP/FI 2 in November 1997. The fact that PHP was not designed, but instead was developed organically has led to inconsistent naming of functions and inconsistent ordering of their parameters. In some cases, the function names were chosen to match the lower-level libraries which PHP was "wrapping", while in some early versions of PHP the length of the function names was used internally as a hash function, so names were chosen to improve the distribution of hash values. Zeev Suraski and Andi Gutmans rewrote the parser in 1997 and formed the base of PHP 3, changing the language's name to the recursive acronym PHP: Hypertext Preprocessor.
Afterwards, public testing of PHP 3 began, the official launch came in June 1998. Suraski and Gutmans started a new rewrite of PHP's core, producing the Zend Engine in 1999, they founded Zend Technologies in Ramat Gan, Israel. On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released. As of August 2008 this branch reached version 4.4.9. PHP 4 will any security updates be released. On July 14, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5 included new features such as improved support for object-oriented programming, the PHP Data Objects extension, numerous performance enhancements. In 2008, PHP 5 became the only stable version under development. Late static binding had been missing from PHP and was added in version 5.3. Many high-profile open-source projects ceased to support PHP 4 in new code as of February 5, 2008, because of the GoPHP5 initiative, provided by a consortium of PHP developers promoting the transition from PHP 4 to PHP 5. Over time, PHP interpreters became available on most existing 32-bit and 64-bit operating systems, either by building them from the PHP source code, or by using pre-built binaries.
For PHP versions 5.3 and 5.4, the only available Microsoft Windows binary distributions were 32-bit x86 builds, requiring Windows 32-bit compatibility mode while using Internet Information Services on a 64-bit Windows platform. PHP version 5.5 made. Official security support for PHP 5.6 ended on 31 December 2018, but Debian 8.0 Jessie will extend support until June 2020. PHP received mixed reviews due to lacking native Unicode support at the core language level. In 2005, a project headed by Andrei Zmievski was initiated to bring native Unicode support throughout PHP, by embedding the International Components for Unicode library, representing text strings as UTF-16 internally. Since this would cause major changes both to the internals of the language and to user code, it was planned to release this as version 6.0 of the language, along with other major features in development. However, a shortage of developers who understood the necessary changes, performance problems arising from conversion to and from UTF-16, used in a web context, led to delays in the project.
As a result, a PHP 5.3 release was created in 2009, with many non-Unicode f
The Application Kit called AppKit, is a graphical user interface toolkit for macOS. It comprises a collection of Objective-C classes and protocols that can be used to build an application for the Mac; these classes can be used in Swift through its Objective-C bridge. Xcode has built-in functionality for developing a Cocoa application using AppKit, including the ability to visually design user interfaces with Interface Builder. AppKit, along with Foundation and Core Data, is part of Cocoa. Accordingly, it relies on patterns like reference types, notifications, target–action, model–view–controller. Most of the applications bundled with macOS—for example, the Finder, TextEdit and Preview–use AppKit to provide their user interface. While AppKit is associated with macOS, it was developed for use on NeXTSTEP; as in Foundation, its classes and protocols still use the “NS” prefix as a result of this heritage. An open-source clone of AppKit is maintained as part of GNUstep for various other Unix-based OSes. iOS and tvOS use a framework called UIKit, derived from AppKit and uses many similar structures.
Of the more than 170 classes included in the Application Kit, the following classes form the core: NSApplication: a singleton object that represents the application as a whole and tracks its windows and other global state NSWindow: an object representing a window on screen, it holds a hierarchy of views NSView: an object representing a rectangular region.
Changing a theme requires changing CSS and a script of the theme. When using Sencha CMD a re-build of the application might be required. All components should work with each theme. For example Classic theme has rather small elements not suited for touch devices. Neptune Touch has bigger elements better suited for phones. Ext JS comes in two flavours called classic toolkit, they differ not only with available themes but there are some API differences between them. So it is not as easy to migrate from one toolkit to the other. There are plans to out some differences between the toolkits in Ext JS 7.1, planned for 2019. Ext JS is a composition of classes; some examples: an abstract layer for browsers state management server communication layer layout and window management event management routing Ext JS has its own class system. Classes are defined with Ext.define and an instance can be created with Ext.create. Some classes can be created by an alias. Instances of components are created automatically.
Class can extend built-in classes. Custom components would extend built in components. There is a built-in dynamic loader. There are two types of dependencies in ExtJS. Dependencies declared. Dependencies defined in uses property might be loaded, it is possible to override classes. Built-in classes. Overriding built-in classes might be useful to create patches. Overridden class gets merged with new declaration; each class can be overridden as many times. Ext JS version 2.0 was released on 4 December 2007. This version was promoted as providing an interface and features more similar to those traditionally associated with desktop applications. Promoted were the new user documentation, API documentation, samples. Ext JS 2.0 did not provide a backward compatibility with version 1.1. A migration guide was developed to address this. Ext JS version 3.0 was released on 6 July 2009. This version added communication support for a new Ext.. Direct server side platform. New flash, it was backwards compatible with version 2.0 code.
Version 4.0 of the Ext framework was released on April 26, 2011. It includes a revised class structure, a revised data package, an animation and drawing package that uses SVG and VML, revised charting and theming, it includes an optional architecture that provides a model–view–controller style of code organization. Version 5.0 of the Ext JS framework was released on June 2, 2014. It includes the ability to build desktop apps on touch-enabled devices—using a single code base, a Model View ViewModel architecture, two-way data binding, responsive layouts, other component upgrades with support for adding widgets inside a grid cell for data visualization and big data analytics. Ext JS 5 includes an upgraded touch-optimized charting package along with additional financial charting capabilities. Ext JS 5 supports modern and legacy browsers including: Safari 6+, Firefox, IE8+, Opera 12+. On the mobile platform, Ext JS 5 supports Safari on iOS 6 and 7, Chrome on Android 4.1+, Windows 8 touch-screen devices running IE10+.
Important: From the Ext JS 5 version you cannot buy license for fewer than 5 developers. Version 6.0 of the Ext JS framework was released on July 1, 2015. It merges the Sencha Touch framework into Ext JS. On 15-Jun-2010, the merge of Ext JS with JQTouch and Raphaël was announced forming a new organisation called Sencha Inc. Ext JS continues to be available as a main product on the new Sencha website together with Sencha Touch, Sencha GWT, Sencha Architect, Sencha Animator and Ext core. On 23-Aug-2017, Sencha was acquired by IDERA. Embarcadero is known for acquisitions of rapid
An operating system is system software that manages computer hardware and software resources and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources. For hardware functions such as input and output and memory allocation, the operating system acts as an intermediary between programs and the computer hardware, although the application code is executed directly by the hardware and makes system calls to an OS function or is interrupted by it. Operating systems are found on many devices that contain a computer – from cellular phones and video game consoles to web servers and supercomputers; the dominant desktop operating system is Microsoft Windows with a market share of around 82.74%. MacOS by Apple Inc. is in second place, the varieties of Linux are collectively in third place. In the mobile sector, use in 2017 is up to 70% of Google's Android and according to third quarter 2016 data, Android on smartphones is dominant with 87.5 percent and a growth rate 10.3 percent per year, followed by Apple's iOS with 12.1 percent and a per year decrease in market share of 5.2 percent, while other operating systems amount to just 0.3 percent.
Linux distributions are dominant in supercomputing sectors. Other specialized classes of operating systems, such as embedded and real-time systems, exist for many applications. A single-tasking system can only run one program at a time, while a multi-tasking operating system allows more than one program to be running in concurrency; this is achieved by time-sharing, where the available processor time is divided between multiple processes. These processes are each interrupted in time slices by a task-scheduling subsystem of the operating system. Multi-tasking may be characterized in co-operative types. In preemptive multitasking, the operating system slices the CPU time and dedicates a slot to each of the programs. Unix-like operating systems, such as Solaris and Linux—as well as non-Unix-like, such as AmigaOS—support preemptive multitasking. Cooperative multitasking is achieved by relying on each process to provide time to the other processes in a defined manner. 16-bit versions of Microsoft Windows used cooperative multi-tasking.
32-bit versions of both Windows NT and Win9x, used preemptive multi-tasking. Single-user operating systems have no facilities to distinguish users, but may allow multiple programs to run in tandem. A multi-user operating system extends the basic concept of multi-tasking with facilities that identify processes and resources, such as disk space, belonging to multiple users, the system permits multiple users to interact with the system at the same time. Time-sharing operating systems schedule tasks for efficient use of the system and may include accounting software for cost allocation of processor time, mass storage and other resources to multiple users. A distributed operating system manages a group of distinct computers and makes them appear to be a single computer; the development of networked computers that could be linked and communicate with each other gave rise to distributed computing. Distributed computations are carried out on more than one machine; when computers in a group work in cooperation, they form a distributed system.
In an OS, distributed and cloud computing context, templating refers to creating a single virtual machine image as a guest operating system saving it as a tool for multiple running virtual machines. The technique is used both in virtualization and cloud computing management, is common in large server warehouses. Embedded operating systems are designed to be used in embedded computer systems, they are designed to operate on small machines like PDAs with less autonomy. They are able to operate with a limited number of resources, they are compact and efficient by design. Windows CE and Minix 3 are some examples of embedded operating systems. A real-time operating system is an operating system that guarantees to process events or data by a specific moment in time. A real-time operating system may be single- or multi-tasking, but when multitasking, it uses specialized scheduling algorithms so that a deterministic nature of behavior is achieved. An event-driven system switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts.
A library operating system is one in which the services that a typical operating system provides, such as networking, are provided in the form of libraries and composed with the application and configuration code to construct a unikernel: a specialized, single address space, machine image that can be deployed to cloud or embedded environments. Early computers were built to perform a series of single tasks, like a calculator. Basic operating system features were developed in the 1950s, such as resident monitor functions that could automatically run different programs in succession to speed up processing. Operating systems did not exist in their more complex forms until the early 1960s. Hardware features were added, that enabled use of runtime libraries and parallel processing; when personal computers became popular in the 1980s, operating systems were made for them similar in concept to those used on larger computers. In the 1940s, the earliest electronic digital systems had no operating systems.
Electronic systems of this time were programmed on rows of mechanical switches or by jumper wires on plug boards. These were special-purpose systems that, for example, generated ballistics tables for the military or controlled the pri
Microsoft PowerPoint is a presentation program, created by Robert Gaskins and Dennis Austin at a software company named Forethought, Inc. It was released on April 20, 1987 for Macintosh computers only. Microsoft acquired PowerPoint for $14 million three months; this was Microsoft's first significant acquisition, Microsoft set up a new business unit for PowerPoint in Silicon Valley where Forethought had been located. Microsoft PowerPoint is one of many programs run by the company Microsoft and can be identified by its trademark orange, P initial on the logo, it offers users many ways to display information from simple presentations to complex multimedia presentations. PowerPoint became a component of the Microsoft Office suite, first offered in 1989 for Macintosh and in 1990 for Windows, which bundled several Microsoft apps. Beginning with PowerPoint 4.0, PowerPoint was integrated into Microsoft Office development, adopted shared common components and a converged user interface. PowerPoint's market share was small at first, prior to introducing a version for Microsoft Windows, but grew with the growth of Windows and of Office.
Since the late 1990s, PowerPoint's worldwide market share of presentation software has been estimated at 95 percent. PowerPoint was designed to provide visuals for group presentations within business organizations, but has come to be widely used in many other communication situations, both in business and beyond; the impact of this much wider use of PowerPoint has been experienced as a powerful change throughout society, with strong reactions including advice that it should be used less, should be used differently, or should be used better. The first PowerPoint version was used to produce overhead transparencies, the second could produce color 35mm slides; the third version introduced video output of virtual slideshows to digital projectors, which would over time replace physical transparencies and slides. A dozen major versions since have added many additional features and modes of operation and have made PowerPoint available beyond Apple Macintosh and Microsoft Windows, adding versions for iOS, web access.
PowerPoint was created by Robert Gaskins and Dennis Austin at a software startup in Silicon Valley named Forethought, Inc. Forethought had been founded in 1983 to create an integrated environment and applications for future personal computers that would provide a graphical user interface, but it had run into difficulties requiring a "restart" and new plan. On July 5, 1984, Forethought hired Robert Gaskins as its vice president of product development to create a new application that would be suited to the new graphical personal computers, such as Microsoft Windows and Apple Macintosh. Gaskins produced his initial description of PowerPoint about a month in the form of a 2-page document titled "Presentation Graphics for Overhead Projection." By October 1984 Gaskins had selected Dennis Austin to be the developer for PowerPoint. Gaskins and Austin worked together on the definition and design of the new product for nearly a year, produced the first specification document dated August 21, 1985; this first design document showed a product as it would look in Microsoft Windows 1.0, which at that time had not been released.
Development from that spec was begun by Austin for Macintosh first. About six months on May 1, 1986, Gaskins and Austin chose a second developer to join the project, Thomas Rudkin. Gaskins prepared two final product specification marketing documents in June 1986. At about the same time, Austin and Gaskins produced a second and final major design specification document, this time showing a Macintosh look. Throughout this development period the product was called "Presenter." Just before release, there was a last-minute check with Forethought's lawyers to register the name as a trademark, "Presenter" was unexpectedly rejected because it had been used by someone else. Gaskins says that he thought of "PowerPoint", based on the product's goal of "empowering" individual presenters, sent that name to the lawyers for clearance, while all the documentation was hastily revised. Funding to complete development of PowerPoint was assured in mid-January, 1987, when a new Apple Computer venture capital fund, called Apple's Strategic Investment Group, selected PowerPoint to be its first investment.
A month on February 22, 1987, Forethought announced PowerPoint at the Personal Computer Forum in Phoenix. By early 1987, Microsoft was starting to plan a new application to create presentations, an activity led by Jeff Raikes, head of marketing for the Applications Division. Microsoft assigned an internal group to write a specification and plan for a new presentation product, they contemplated an acquisition to speed up development, in early 1987 Microsoft sent a letter of intent to acquire Dave Winer's product called MORE, an outlining program that could print its outlines as bullet charts. During this preparatory activity Raikes discovered that a program to make overhead presentations was being developed by Forethought, Inc. and that it was nearly completed. Raikes and others visited Forethought on February 1987, for a confidential demonstration. Raikes recounted his reaction to s