Full SVG Application
File to download: Kakaranet-7-Refined.svg
Clean Object Naming Agreement
Detailed-Houses
Kakaranet-Logo
Person-Selections
Facebook-Login
Online-Users
Alina-Person
Mustafa-Persona
Gabrielo-Persona
Table
Gabrielo-Deck
Alina-Deck
Mustafa-Deck
Gabrielo-Discard
You-Discard
Alina-Discard
Mustafa-Discard
Place-Card
Center-Cards
You-Deck
Combination-5
Combination-4
Combination-3
Combination-2
Combination-1
Gosterge
Stupid-Cards
Mustafa-+-Timer
You-+-Timer
Gabrielo
Alina
Right-Menu
Left-Menu
Okey
Have-8-Tashes
Settings
Pause
Point-Table
Create
Play
Promos
Tournaments
Gifts
Please make sure you Vector Editor correctly opens this file!
Abstract
Основна ідея мати чистий SVG фреймворк що усі елементи були однотипними, і підхід був уніфікований, кнопки будь якого розміру, форми і які легко було би змінити в майбутньому. HTML/CSS підхід в подальшому не даcть змогу легко замінити контрольні елементи, карти і таке інше, доведеть повністью розбирати CSS елементи і верску. Уявіть що ми захочемо в майбутньому просто відкрити SVG у векторному редакторі, перемалювати і зберегти з тими самими element ID. У випадку з CSS при зміні дизайну ми постійно будемо змушені пестворювати верстку, знову наймати одноразову ручну роботу. У випадку з SVG нам доведеться тільки замінити елементи SVG.
SVG Integration Process
Підхід який пропонується нагадуеє уніфіковану роботу з векторними XML елементами, як це є в WPF наприклад. Тут справа не в байтах, в інтеграції процессу між дизайнерами, розробниками, верстальниками і серверними програмістами. Як наприклад Expression Blend у Microsoft для WPF. Саме з цих міркувань була вибрана технологія SVG.
SVG DOM Control
Інша частина це інтеграція SVG DOM і управління ним на сервері. Ми хочемо мати можливість модифікувати SVG DOM з сервера. Для цього нам потрібно прозорий та уніфікований підхід до усіх елементів. Це дасть нам змогу використовувати підхід як товстого (гра повністю в браузері), так і тонкого клієнту (коли стан гри повнітю контролюється сервером).
Sample Client
Прототип тонкого клієнту на елементах HTML/CSS викладений тут: