митасов роман

738 views
711 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
738
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

митасов роман

  1. 1. WebAgent 2
  2. 2. 3
  3. 3. 4
  4. 4. 5
  5. 5. 6
  6. 6. 7
  7. 7. 8
  8. 8. Синхронизация 9
  9. 9. 10
  10. 10. 11
  11. 11. 12
  12. 12. 13
  13. 13. 14
  14. 14. 15
  15. 15. 16
  16. 16. 17
  17. 17. 18
  18. 18. 19
  19. 19. 20
  20. 20. 21
  21. 21. 22
  22. 22. Зачем? 23
  23. 23. 24
  24. 24. 25
  25. 25. 26
  26. 26. 27
  27. 27. 28
  28. 28. 29
  29. 29. 30
  30. 30. 31
  31. 31. 32
  32. 32. 33
  33. 33. 34
  34. 34. 35
  35. 35. 36
  36. 36. 37
  37. 37. 38
  38. 38. 39
  39. 39. Синхронизация интерфейса 40
  40. 40. Транспорт: 41
  41. 41. Транспорт:1. Сервер 42
  42. 42. Транспорт:1. Сервер2. Flash 43
  43. 43. Транспорт:1. Сервер2. Flash3. Клиентские хранилища 44
  44. 44. Возможные подходы: 45
  45. 45. Возможные подходы:1. События 46
  46. 46. Возможные подходы:1. События2. Состояния 47
  47. 47. Возможные подходы:1. События2. Состояния3. Смешанные 48
  48. 48. Возможные подходы:1. События2. Состояния3. Смешанные 49
  49. 49. 50
  50. 50. 51
  51. 51. Сервер - WebAgent1.0 : 52
  52. 52. Сервер - WebAgent1.0 :• Синхронизация смешанная 53
  53. 53. Client 54
  54. 54. Client Client Client Client Client 55
  55. 55. Client Client Client Client Client Server 56
  56. 56. Client Client Client Client Client Server 57
  57. 57. Client Client Client Client Client Server 58
  58. 58. Client Client Client Client Client Server 59
  59. 59. Client Client Client Client Client Server 60
  60. 60. Client Client Client Client Client Server 61
  61. 61. Client Client Client Client Client Server 62
  62. 62. Client Client Client Client Client Server 63
  63. 63. Сервер - WebAgent1.0 :• Синхронизация смешанная 64
  64. 64. Сервер - WebAgent1.0 :• Синхронизация смешаннаяМинусы: 65
  65. 65. Сервер - WebAgent1.0 :• Синхронизация смешаннаяМинусы:• Сетевые задержки 66
  66. 66. Client Client Client Client Client Server 67
  67. 67. Client Client Client Client Client Server 68
  68. 68. Client Client Client Client Client Server 69
  69. 69. Client Client Client Client Client Server 70
  70. 70. Client Client Client Client Client Server 71
  71. 71. Сервер - WebAgent1.0 :• Синхронизация смешаннаяМинусы:• Сетевые задержки 72
  72. 72. Сервер - WebAgent1.0 :• Синхронизация смешаннаяМинусы:• Сетевые задержки• Много соединений с сервером 73
  73. 73. Flash – WebAgent 2.0 : 74
  74. 74. Flash – WebAgent 2.0 :• Диспетчер в клиенте – router 75
  75. 75. Flash – WebAgent 2.0 :• Диспетчер в клиенте – router• Есть хранилище, возможна синхронизация состояний 76
  76. 76. Flash – WebAgent 2.0 :• Диспетчер в клиенте – router• Есть хранилище, возможна синхронизация состояний• Синхронизация событиями 77
  77. 77. LocalConnection 78
  78. 78. 79
  79. 79. 80
  80. 80. 81
  81. 81. 82
  82. 82. 83
  83. 83. 84
  84. 84. 85
  85. 85. 86
  86. 86. 87
  87. 87. Router 88
  88. 88. Client Client Client Client Client 89
  89. 89. Client Client Client Client Client Fl Fl Fl Fl Fl
  90. 90. Client Client Client Client Client Fl Fl Fl Fl Fl Router
  91. 91. Client Client Client Client Client Fl Fl Fl Fl Fl Router Server 92
  92. 92. Client Client Client Client Client Fl Fl Fl Fl Fl Router Server 93
  93. 93. Client Client Client Client Client Fl Fl Fl Fl Fl Router Server 94
  94. 94. Client Client Client Client Client Fl Fl Fl Fl Fl Router Server 95
  95. 95. Flash – WebAgent 2.0 :• Диспетчер в клиенте – router• Есть хранилище, возможна синхронизация состояний• Синхронизация событиями 96
  96. 96. Flash – WebAgent 2.0 :• Диспетчер в клиенте – router• Есть хранилище, возможна синхронизация состояний• Синхронизация событиямиМинусы : 97
  97. 97. Flash – WebAgent 2.0 :• Диспетчер в клиенте – router• Есть хранилище, возможна синхронизация состояний• Синхронизация событиямиМинусы :• Глюки флеша 98
  98. 98. Flash – WebAgent 2.0 :“Подводные камни”: 99
  99. 99. Flash – WebAgent 2.0 :“Подводные камни”:• Хрупкость системы 100
  100. 100. 101
  101. 101. 102
  102. 102. WebStorage – WebAgent 3.0 : 103
  103. 103. WebStorage – WebAgent 3.0 :• Синхронизация состояний 104
  104. 104. Синхронизация состояний 105
  105. 105. Router 106
  106. 106. Router
  107. 107. Router
  108. 108. Router
  109. 109. Router 110
  110. 110. Router 111
  111. 111. 112
  112. 112. 113
  113. 113. 114
  114. 114. 115
  115. 115. 116
  116. 116. 117
  117. 117. 118
  118. 118. WebStorage – WebAgent 3.0 :• Синхронизация состояний 119
  119. 119. WebStorage – WebAgent 3.0 :• Синхронизация состояний• Задача выбора роутера 120
  120. 120. Выбор роутера 121
  121. 121. 122
  122. 122. 123
  123. 123. 124
  124. 124. 125
  125. 125. 126
  126. 126. router 127
  127. 127. router 128
  128. 128. router 129
  129. 129. routerWrite(window_id) 130
  130. 130. routerWrite(window_id) 131
  131. 131. routerWrite(window_id) 132
  132. 132. Write(window_id) 133
  133. 133. router Write(window_id) 134
  134. 134. router Write(window_id) 135
  135. 135. router Write(window_id) onbeforeunload 136
  136. 136. router Write(window_id) onbeforeunload Write(false) 137
  137. 137. router Write(window_id) onbeforeunload Write(false) onstorage 138
  138. 138. 139
  139. 139. 140
  140. 140. Read(window_id) 141
  141. 141. Read(window_id) 142
  142. 142. Read(window_id) 143
  143. 143. 144
  144. 144. 145
  145. 145. 146
  146. 146. 147
  147. 147. 148
  148. 148. WebStorage – WebAgent 3.0 :• Синхронизация состояний• Задача выбора роутера 149
  149. 149. WebStorage – WebAgent 3.0 :• Синхронизация состояний• Задача выбора роутера“Подводные камни”: 150
  150. 150. WebStorage – WebAgent 3.0 :• Синхронизация состояний• Задача выбора роутера“Подводные камни”:• Баги реализации в браузерах 151
  151. 151. Баги реализации в браузерах: 152
  152. 152. Баги реализации в браузерах:• onstorage 153
  153. 153. onStorage 154
  154. 154. localStorage.testvar = 0; 155
  155. 155. localStorage.testvar = 0;for(var i = 0; i < 3; i++) {} 156
  156. 156. localStorage.testvar = 0;for(var i = 0; i < 3; i++) { localStorage.testvar++;} 157
  157. 157. localStorage.testvar = 0;console.log(localStorage.testvar);for(var i = 0; i < 3; i++) { localStorage.testvar++; console.log(localStorage.testvar);} 158
  158. 158. window.addEventListener(„storage‟, function (e) {}, true) 159
  159. 159. window.addEventListener(„storage‟, function (e) { console.log(e.key)}, true) 160
  160. 160. window.addEventListener(„storage‟, function (e) { console.log(e.key, e.newValue )}, true) 161
  161. 161. window.addEventListener(„storage‟, function (e) { console.log(e.key, e.newValue, e.oldValue)}, true) 162
  162. 162. window.addEventListener(„storage‟, function (e) { console.log(e.key, e.newValue, e.oldValue, localStorage.testvar)}, true) 163
  163. 163. 164
  164. 164. for (… 165
  165. 165. for (… addEvent… 166
  166. 166. 167
  167. 167. Chrome, Opera, FF6+
  168. 168. Chrome, Opera, FF6+ Таб 1 – цикл 169
  169. 169. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 170
  170. 170. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 171
  171. 171. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 1 172
  172. 172. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 1 2 173
  173. 173. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 1 2 3 174
  174. 174. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 2 3 175
  175. 175. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 2 3 176
  176. 176. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 2 3 177
  177. 177. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 2 3 178
  178. 178. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 2 3 179
  179. 179. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 2 3 180
  180. 180. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 2 3 181
  181. 181. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 testvar 1 0 3 2 3 182
  182. 182. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 testvar 1 0 3 2 testvar 2 1 3 3 183
  183. 183. Chrome, Opera, FF6+ Таб 1 – цикл Таб 2 – addEventList… 0 testvar 0 null 3 1 testvar 1 0 3 2 testvar 2 1 3 3 testvar 3 2 3 184
  184. 184. Многозадачность 185
  185. 185. Многозадачность:• Chrome и IE – в каждом табе / окное 186
  186. 186. Многозадачность:• Chrome и IE – в каждом табе / окное• Opera – в каждом iframe 187
  187. 187. Многозадачность:• Chrome и IE – в каждом табе / окное• Opera – в каждом iframe• FF – один на все окна / табы 188
  188. 188. 189
  189. 189. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 190
  190. 190. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 191
  191. 191. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 192
  192. 192. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 193
  193. 193. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 194
  194. 194. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 195
  195. 195. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 196
  196. 196. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 197
  197. 197. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 198
  198. 198. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 1 199
  199. 199. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 1 undef undef undef 1 200
  200. 200. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 1 undef undef undef 1 2 201
  201. 201. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 1 undef undef undef 1 2 undef undef undef 2 202
  202. 202. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 1 undef undef undef 1 2 undef undef undef 2 3 203
  203. 203. FF3.6 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 0 1 undef undef undef 1 2 undef undef undef 2 3 undef undef undef 3 204
  204. 204. 205
  205. 205. IE8 Таб 1 – цикл Таб 2 – addEventList… 206
  206. 206. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 207
  207. 207. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 1 208
  208. 208. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 1 2 209
  209. 209. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 1 2 3 210
  210. 210. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 2 3 211
  211. 211. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 2 3 212
  212. 212. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 2 3 213
  213. 213. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 2 3 214
  214. 214. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 2 3 215
  215. 215. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 2 3 216
  216. 216. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 undef undef undef 3 2 3 217
  217. 217. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 undef undef undef 3 2 undef undef undef 3 3 218
  218. 218. IE8 Таб 1 – цикл Таб 2 – addEventList… 0 undef undef undef 3 1 undef undef undef 3 2 undef undef undef 3 3 undef undef undef 3 219
  219. 219. Баги реализации в браузерах:• Onstorage 220
  220. 220. Баги реализации в браузерах:• Onstorage• IE8+ 221
  221. 221. Нюансы IE8+: 222
  222. 222. Нюансы IE8+:• Асинхронные тормоза на записи 223
  223. 223. Нюансы IE8+:• Асинхронные тормоза на записи• Отложенный момент записи на диск 224
  224. 224. Нюансы IE8+:• Асинхронные тормоза на записи• Отложенный момент записи на диск• Данные могут разъехаться 225
  225. 225. Нюансы IE8+:• Асинхронные тормоза на записи• Отложенный момент записи на диск• Данные могут разъехаться• 64 IE на 64 Win 226
  226. 226. 227
  227. 227. СПАСИБО! Роман МитасовПрограммист, WebAgent mitasov@corp.mail.ru

×