آذر 99 - رسول پاشایی
تکامل (سریعتر) تکنولوژی های سمت کاربر
حمل پذیری بالا
هزینه تولید کمتر
تعامل بالا
اکو سیستم پویا
“Any application that can be written in JavaScript, will eventually be written in JavaScript.” — Jeff Atwood 2007, Author, Entrepreneur, Cofounder of StackOverflow
سال 78 از دانشگاه فارق التحصیل شد
برنامه دسکتاپ با C , Delphi
برای ورود به بازار وب، PHP را یاد گرفت
کمی هم JavaScript یادگرفت برای اعتبار سنجی فرم ها و پویا سازی و ...
یادگیری Java و Object-C برای نوشتن برنامه های موبایلی
دوسال قبل فارق التحصیل شد
یک وب اپلیکشن متوسط با معماری MVC انجام داد
برای Android و iOS برنامه موبایلی نوشت
برای Windows و Linux و OSX برنامه دسکتاپی نوشت
در حال نوشن برنامه های Serverless هست
پیش نیاز های دوره
(let loop ((n 1))
(if (> n 10)
'()
(cons n
(loop (+ n 1)))))
===> (1 2 3 4 5 6 7 8 9 10)ECMAScript
Platform (Browser, Node, Mobile, ... )
Run-time (V8, Spidermonkey, Chakra, ...)
Chrome - V8
Firefox - SpiderMonkey
MS Edge - Chakra
Node?
Rhino
Deno
Electron
AppJS
nodewebkit
Bracket Shell
Cordova
Capacitor
NativeScript
ReactNative
MongoDB
PunchDB
NeDB
Espruino
Duktape
| Edition | Formal name | Release date |
|---|---|---|
| ES10 | ES2019 | June 2019 |
| ES9 | ES2018 | June 2018 |
| ES8 | ES2017 | June 2017 |
| ES7 | ES2016 | June 2016 |
| ES6 | ES 2015 | June 2015 |
| ES 5.1 | ES 5.1 | June 2011 |
| ES5 | ES5 | December 2009 |
| ES 4 | ES 4 | Disposed |
| ES3 | ES3 | December 1999 |
| ES2 | ES2 | June 1998 |
| ES1 | ES1 | June 1997 |
Hypertext Transfer Protocol
Uniform Resource Locator
URL
Header - None mandatory
Method
Body
More Details https://httpstatuses.com/
Hypertext Markup Language
Element vs Attribute
<!DOCTYPE html>
<html>
<head>
<title>This is a title</title>
</head>
<body>
<p>Hello world!</p>
</body>
</html><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<title>Login</title>
</head>
<body>
<div class="container">
<div class="row">
<div class="span12">
<form class="form-horizontal" action='' method="POST">
<fieldset>
<div id="legend">
<legend class="">Login</legend>
</div>
<div class="control-group">
<!-- Username -->
<label class="control-label" for="username">Username</label>
<div class="controls">
<input type="text" id="username" name="username" placeholder="" class="input-xlarge" required data-validation-endpoint="check-username-exists.php" >
</div>
</div>
<div class="control-group">
<!-- Password-->
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" id="password" name="password" placeholder="" class="input-xlarge">
</div>
</div>
<div class="control-group">
<!-- Button -->
<div class="controls">
<button class="btn btn-success">Login</button>
</div>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</body>
</html>Cascading Style Sheets
#page>div.logo+ul#navigation>li*5>a{Item $}<div id="page">
<div class="logo"></div>
<ul id="navigation">
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
<li><a href="">Item 4</a></li>
<li><a href="">Item 5</a></li>
</ul>
</div>