angular/angular.js

View on GitHub
images/docs/guide/concepts.svg/runtime.svg

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 756 553" width="63pc" height="553pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.5.2 <dc:date>2013-11-06 19:46:59 +0000</dc:date></metadata><defs><font-face font-family="Arial" font-size="12" panose-1="2 11 7 4 2 2 2 2 2 4" units-per-em="1000" underline-position="-105.95703" underline-thickness="104.98047" slope="0" x-height="518.5547" cap-height="715.8203" ascent="905.27344" descent="-211.91406" font-weight="bold"><font-face-src><font-face-name name="Arial-BoldMT"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Courier" font-size="10" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.617188" slope="0" x-height="462.40234" cap-height="594.72656" ascent="753.90625" descent="-246.09375" font-weight="500"><font-face-src><font-face-name name="Courier"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="10" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Courier" font-size="11" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.617188" slope="0" x-height="462.40234" cap-height="594.72656" ascent="753.90625" descent="-246.09375" font-weight="500"><font-face-src><font-face-name name="Courier"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="11" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -3 6 6" markerWidth="6" markerHeight="6" color="black"><g><path d="M 3.7333333 0 L 0 -1.4 L 0 1.4 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Courier" font-size="12" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.617188" slope="0" x-height="462.40234" cap-height="594.72656" ascent="753.90625" descent="-246.09375" font-weight="500"><font-face-src><font-face-name name="Courier"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><font-face font-family="Courier" font-size="12" units-per-em="1000" underline-position="-144.04297" underline-thickness="91.796875" slope="0" x-height="462.40234" cap-height="594.72656" ascent="753.90625" descent="-246.09375" font-weight="bold"><font-face-src><font-face-name name="Courier-Bold"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-1 -2 4 4" markerWidth="4" markerHeight="4" color="black"><g><path d="M 1.44 0 L 0 -.54 L 0 .54 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="18" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>runtime</title><rect fill="white" width="756" height="553"/><g><title>Layer 1</title><path d="M 248.3335 97.93747 L 439.00002 97.93747 C 447.2843 97.93747 454.00002 104.6532 454.00002 112.93747 L 454.00002 345.66666 C 454.00002 353.95093 447.2843 360.66666 439.00002 360.66666 L 248.3335 360.66666 C 240.04923 360.66666 233.3335 353.95093 233.3335 345.66666 L 233.3335 112.93747 C 233.3335 104.6532 240.04923 97.93747 248.3335 97.93747 Z" fill="#cde2f0"/><path d="M 248.3335 97.93747 L 439.00002 97.93747 C 447.2843 97.93747 454.00002 104.6532 454.00002 112.93747 L 454.00002 345.66666 C 454.00002 353.95093 447.2843 360.66666 439.00002 360.66666 L 248.3335 360.66666 C 240.04923 360.66666 233.3335 353.95093 233.3335 345.66666 L 233.3335 112.93747 C 233.3335 104.6532 240.04923 97.93747 248.3335 97.93747 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" stroke-dasharray="4,4"/><text transform="translate(238.3335 102.93747)" fill="black"><tspan font-family="Arial" font-size="12" font-weight="bold" x="0" y="11" textLength="60.703125">JavaScript</tspan></text><path d="M 123 97.93747 L 205.66666 97.93747 C 213.95093 97.93747 220.66666 104.6532 220.66666 112.93747 L 220.66666 345.66666 C 220.66666 353.95093 213.95093 360.66666 205.66666 360.66666 L 123 360.66666 C 114.71573 360.66666 108 353.95093 108 345.66666 L 108 112.93747 C 108 104.6532 114.71573 97.93747 123 97.93747 Z" fill="#ececec"/><path d="M 123 97.93747 L 205.66666 97.93747 C 213.95093 97.93747 220.66666 104.6532 220.66666 112.93747 L 220.66666 345.66666 C 220.66666 353.95093 213.95093 360.66666 205.66666 360.66666 L 123 360.66666 C 114.71573 360.66666 108 353.95093 108 345.66666 L 108 112.93747 C 108 104.6532 114.71573 97.93747 123 97.93747 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" stroke-dasharray="4,4"/><text transform="translate(113 102.93747)" fill="black"><tspan font-family="Arial" font-size="12" font-weight="bold" x="0" y="11" textLength="36.017578">Native</tspan></text><path d="M 135 133.33328 L 192.33331 133.33328 C 200.61758 133.33328 207.33331 140.04901 207.33331 148.33328 L 207.33331 193.66667 C 207.33331 201.95094 200.61758 208.66667 192.33331 208.66667 L 135 208.66667 C 126.71573 208.66667 120 201.95094 120 193.66667 L 120 148.33328 C 120 140.04901 126.71573 133.33328 135 133.33328 Z" fill="#f8e95b" fill-opacity=".6"/><path d="M 135 133.33328 L 192.33331 133.33328 C 200.61758 133.33328 207.33331 140.04901 207.33331 148.33328 L 207.33331 193.66667 C 207.33331 201.95094 200.61758 208.66667 192.33331 208.66667 L 135 208.66667 C 126.71573 208.66667 120 201.95094 120 193.66667 L 120 148.33328 C 120 140.04901 126.71573 133.33328 135 133.33328 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" stroke-dasharray="4,4"/><text transform="translate(125 138.33328)" fill="black"><tspan font-family="Arial" font-size="12" font-weight="bold" x="0" y="11" textLength="73.353516">Event Queue</tspan><tspan font-family="Arial" font-size="12" font-weight="bold" x="23.001617" y="39.392578" textLength="31.330078">(wait)</tspan></text><path d="M 309.66663 133.33328 L 430.33327 133.33328 C 438.61754 133.33328 445.33327 140.04901 445.33327 148.33328 L 445.33327 335.66665 C 445.33327 343.95092 438.61754 350.66665 430.33327 350.66665 L 309.66663 350.66665 C 301.38236 350.66665 294.66663 343.95092 294.66663 335.66665 L 294.66663 148.33328 C 294.66663 140.04901 301.38236 133.33328 309.66663 133.33328 Z" fill="#f8e95b" fill-opacity=".6"/><path d="M 309.66663 133.33328 L 430.33327 133.33328 C 438.61754 133.33328 445.33327 140.04901 445.33327 148.33328 L 445.33327 335.66665 C 445.33327 343.95092 438.61754 350.66665 430.33327 350.66665 L 309.66663 350.66665 C 301.38236 350.66665 294.66663 343.95092 294.66663 335.66665 L 294.66663 148.33328 C 294.66663 140.04901 301.38236 133.33328 309.66663 133.33328 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" stroke-dasharray="4,4"/><text transform="translate(299.66663 138.33328)" fill="black"><tspan font-family="Arial" font-size="12" font-weight="bold" x="0" y="11" textLength="60.01172">AngularJS</tspan></text><path d="M 135 274.00058 L 192.33331 274.00058 C 200.61758 274.00058 207.33331 280.71631 207.33331 289.00058 L 207.33331 334.33397 C 207.33331 342.61824 200.61758 349.33397 192.33331 349.33397 L 135 349.33397 C 126.71573 349.33397 120 342.61824 120 334.33397 L 120 289.00058 C 120 280.71631 126.71573 274.00058 135 274.00058 Z" fill="#f8e95b" fill-opacity=".6"/><path d="M 135 274.00058 L 192.33331 274.00058 C 200.61758 274.00058 207.33331 280.71631 207.33331 289.00058 L 207.33331 334.33397 C 207.33331 342.61824 200.61758 349.33397 192.33331 349.33397 L 135 349.33397 C 126.71573 349.33397 120 342.61824 120 334.33397 L 120 289.00058 C 120 280.71631 126.71573 274.00058 135 274.00058 Z" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" stroke-dasharray="4,4"/><text transform="translate(125 279.00058)" fill="black"><tspan font-family="Arial" font-size="12" font-weight="bold" x="0" y="11" textLength="72.67383">DOM Render</tspan></text><path d="M 380.82794 201.06013 C 395.56962 201.06013 403.88547 212.39992 403.88547 226.76369 C 403.88545 241.12725 390.2777 251.3333 377.4259 251.3333 C 364.5741 251.3333 352.4783 238.85954 352.4783 227.14168 C 352.4783 218.69206 356.9989 208.27694 364.1976 203.26627" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(347.66667 207.81871)" fill="black"><tspan font-family="Courier" font-size="10" font-weight="500" x="14.20875" y="10" textLength="30.004883">$eval</tspan><tspan font-family="Courier" font-size="10" font-weight="500" x="14.20875" y="22" textLength="30.004883">Async</tspan><tspan font-family="Helvetica" font-size="10" font-weight="500" x="15.307382" y="34" textLength="27.807617">queue</tspan></text><path d="M 383.03156 286.69769 C 397.77324 286.69769 406.08905 298.03766 406.08905 312.40143 C 406.08903 326.76499 392.48133 336.97083 379.62952 336.97083 C 366.7777 336.97083 354.68188 324.49716 354.68188 312.7793 C 354.68188 304.32968 359.20249 293.91455 366.4012 288.90386" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(354.68188 298.4563)" fill="black"><tspan font-family="Courier" font-size="11" font-weight="500" x="5.9003623" y="10" textLength="39.606445">$watch</tspan><tspan font-family="Helvetica" font-size="11" font-weight="500" x="18.981661" y="23" textLength="13.443848">list</tspan></text><path d="M 403.88547 226.76369 C 420 234 430 247.33333 430 264 C 430 276.50653 428.49844 291.64076 418.7724 302.8118" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><path d="M 354.68188 312.7793 C 335.33334 305.33335 324.841 295.99999 324.17426 270.66666 C 323.68063 251.9091 327.47736 241.92333 338.33567 234.40728" marker-end="url(#FilledArrow_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"/><text transform="translate(352.68188 251.33327)" fill="black"><tspan font-family="Courier" font-size="12" font-weight="500" x=".29589844" y="11" textLength="50.408203">$digest</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="14.15625" y="25" textLength="22.6875">loop</tspan></text><text transform="translate(365.88547 163.99997)" fill="black"><tspan font-family="Courier" font-size="12" font-weight="bold" x="0" y="11" textLength="28.804688">fn()</tspan></text><text transform="translate(255.4427 164.00011)" fill="black"><tspan font-family="Courier" font-size="12" font-weight="bold" x="0" y="11" textLength="72.01172">$apply(fn)</tspan></text><line x1="380.4885" y1="177.99997" x2="380.61159" y2="186.36172" marker-end="url(#FilledArrow_Marker_3)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/><line x1="328.4427" y1="171.00005" x2="351.18547" y2="171.00002" marker-end="url(#FilledArrow_Marker_3)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/><path d="M 224.78893 208.66667 L 227.78893 208.66667 C 245.46204 208.66667 259.78893 222.99356 259.78893 240.66667 L 259.78893 240.66667 C 259.78893 258.33978 245.46204 272.66667 227.78893 272.66667 L 224.78893 272.66667 C 207.11582 272.66667 192.78893 258.33978 192.78893 240.66667 L 192.78893 240.66667 C 192.78893 222.99356 207.11582 208.66667 224.78893 208.66667 Z" fill="white" fill-opacity=".58"/><text transform="translate(202.78893 218.66667)" fill="black"><tspan font-family="Helvetica" font-size="18" font-weight="500" x=".48583984" y="18" textLength="46.02832">Event</tspan><tspan font-family="Helvetica" font-size="18" font-weight="500" x="3.4785156" y="40" textLength="40.042969">Loop</tspan></text><line x1="207.58331" y1="170.99997" x2="240.7427" y2="171.00003" marker-end="url(#FilledArrow_Marker_3)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/><line x1="163.66666" y1="273.75058" x2="163.66666" y2="223.61667" marker-end="url(#FilledArrow_Marker_3)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/><line x1="354.68188" y1="312.7793" x2="222.28306" y2="312.00852" marker-end="url(#FilledArrow_Marker_3)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"/></g></g></svg>