بهمن 98 - رسول پاشایی
تکامل (سریعتر) تکنولوژی های سمت کاربر
حمل پذیری بالا
هزینه تولید کمتر
تعامل بالا
“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>