Internet Foundation Classes
   HOME

TheInfoList



OR:

The Internet Foundation Classes (IFC) is a
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
widget toolkit A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements (called ''widgets'') used to construct the graphical user interface (GUI) of programs. Most widg ...
and
graphics library A graphics library is a program library designed to aid in rendering computer graphics to a monitor. This typically involves providing optimized versions of functions that handle common rendering tasks. This can be done purely in software and runn ...
for Java originally developed by Netcode Corporation and first released by
Netscape Corporation Netscape Communications Corporation (originally Mosaic Communications Corporation) was an American independent computer services company with headquarters in Mountain View, California and then Dulles, Virginia. Its Netscape web browser was onc ...
on December 16, 1996. The Java IFC was fairly close to the early versions of the
Objective-C Objective-C is a general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTS ...
NeXTStep NeXTSTEP is a discontinued object-oriented, multitasking operating system based on the Mach kernel and the UNIX-derived BSD. It was developed by NeXT Computer in the late 1980s and early 1990s and was initially used for its range of proprieta ...
classes for NeXT. A builder tool was also included under the IFC umbrella that was close in spirit (but significantly limited in functionality) to NeXT's
Interface Builder Interface Builder is a software development application for Apple Inc., Apple's macOS operating system. It is part of Xcode (formerly Project Builder), the Apple Developer developer's toolset. Interface Builder allows Cocoa (API), Cocoa and Car ...
. This ecosystem was attractive to NeXT application developers interested in looking at the Java language.


History

On April 2, 1997,
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
and
Netscape Netscape Communications Corporation (originally Mosaic Communications Corporation) was an American independent computer services company with headquarters in Mountain View, California and then Dulles, Virginia. Its Netscape web browser was onc ...
announced their intention to combine IFC with other technologies to form the
Java Foundation Classes The Java Foundation Classes (JFC) are a graphical framework for building portable Java-based graphical user interfaces (GUIs). JFC consists of the Abstract Window Toolkit (AWT), Swing and Java 2D. Together, they provide a consistent user interfac ...
. Ultimately, Sun merged the IFC with other technologies under the name "Swing", adding the capability for a pluggable
look and feel In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
of the widgets. Because its technology has been merged to constitute Swing and
Java 2D Java 2D is an API for drawing two-dimensional graphics using the Java programming language. Every Java 2D drawing operation can ultimately be treated as ''filling'' a ''shape'' using a ''paint'' and ''compositing'' the result onto the screen. Or ...
, IFC is now no longer maintained.


Differences from Swing

Swing drew a lot of features from IFC: * contrary to AWT, IFC were written in pure
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
, thus being (at the time) browser-independent. * IFC already provided two
Layout manager Layout managers are software components used in widget toolkits which have the ability to lay out graphical control elements by their relative positions without using distance units. It is often more natural to define component layouts in this manne ...
s, that would be later included in the standard
JDK The Java Development Kit (JDK) is a distribution of Java Technology by Oracle Corporation. It implements the Java Language Specification (JLS) and the Java Virtual Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java ...
* some IFC components were able to read
HTML The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
content from
URL A Uniform Resource Locator (URL), colloquially termed as a web address, is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifie ...
s, but the implementation was still far from reliable. However, Swing also improved IFC in a lot of ways: * IFC did not have a Model-View architecture * contrary to Swing, the
Look and feel In software design, the look and feel of a graphical user interface comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces (the "look"), as well as the behavior of dynamic elements such as buttons, boxes ...
of IFC components was written in the components themselves, making it impossible to change it easily. * IFC components were not
JavaBean In computing based on the Java Platform, JavaBeans is a technology developed by Sun Microsystems and released in 1996, as part of JDK 1.1. The 'beans' of JavaBeans are classes that encapsulate one or more objects into a single standardized objec ...
s. IFC had a specific persistence mechanism, but it was a bit complex, and not compatible with the Java
Serialization In computing, serialization (or serialisation) is the process of translating a data structure or object state into a format that can be stored (e.g. files in secondary storage devices, data buffers in primary storage devices) or transmitted (e ...
API. * event mechanism was still raw, and the
Event loop In computer science, the event loop is a programming construct or design pattern that waits for and dispatches events or messages in a program. The event loop works by making a request to some internal or external "event provider" (that generally ...
sometimes needed to be accessed directly.


Examples


Hello World

This is the classic ''
Hello world program ''Hello'' is a salutation or greeting in the English language. It is first attested in writing from 1826. Early uses ''Hello'', with that spelling, was used in publications in the U.S. as early as the 18 October 1826 edition of the ''Norwich C ...
'' in IFC: import netscape.application.*; import netscape.util.*; public class HelloWorld extends Application To be compared with the equivalent Java Swing code: import javax.swing.*; public class HelloWorld extends JFrame


References


External links


IFC presentationIFC programming guideIFC tutorial
The last places, where to download the IFC: * tp://ftp.uni-potsdam.de/pub/WWW/Netscape/navigator/plugins/ifc/1.0/ ftp-Server 1 Uni-Potsdam* tp://ftp.uni-potsdam.de/pub/WWW/clients/netscape/plugins/ifc/1.0/ ftp-Server 2 Uni-Potsdam* tp://ftp.uni-potsdam.de/pub/WWW/netscape/navigator/plugins/ifc/1.0/ ftp-Server 3 Uni-Potsdam* tp://ftp.ruhr-uni-bochum.de/.subdisc1/local/jk.collection/ ftp-Server Uni-Bochum* tp://ftp.anu.edu.au/sunsite/mnt/disk3/WWW/netscape/navigator/plugins/ifc/1.0/ ftp-Server SunSiteAll find from
FileSearching.com
{Dead link, date=February 2023 , bot=InternetArchiveBot , fix-attempted=yes The web-archive where is the last place to find really all files:

Additional you can still find IFC here:
Server of the MIT - Nathans accountServer of the MIT - stuff side
Java (programming language) Java (programming language) libraries Java APIs Widget toolkits