2. MSCommunity BiH konferencija Single Page Application case study SilverReader Radenko Zec Miroslav Popović
2. MSCommunity BiH konferencija
Single Page Application case study
SilverReader
Radenko ZecMiroslav Popović
2. MSCommunity BiH konferencija
2. MSCommunity BiH konferencija
Šta je SilverReader ?
• Feeds• RSS – Rich Site Summary
Really Simple Syndication• RSS 1.*, RSS 2.*, Atom
• Feed aggregator• Feed reader
• Radenko Zec, Igor Marković, Miroslav Popović• + Boris Gajić (Android)
2. MSCommunity BiH konferencija
Zašto SilverReader?
• Gašenje Google Readera
• Svi pratimo hrpu feed-ova
• Prilika za zanimljiv zajednički projekat
• Zašto baš “SilverReader”?
2. MSCommunity BiH konferencija
OK, ali to je jednostavno, zar ne!?!
2. MSCommunity BiH konferencija
Naravno! A i ovo je:
2. MSCommunity BiH konferencija
Osnovne ideje
• Jednostavnost – što bliže Google Reader-u
• Brzina – crawler i web app
• HTTPS podrška od početka
• Optimizacija – kompresija podataka
• Skalabilnost
2. MSCommunity BiH konferencija
Kako radi SilverReader?
• Web site (SPA) -> ASP.NET MVC, Durandal, Knockout.js, Bootstrap
• Web API -> ASP.NET Web API
• Database -> SQL Server 2012
• Crawler Service -> Windows Service
• Mobile -> nativne Android i iOSaplikacije
WebSite(SPA)
Mobile (in progress)
Web API
DataBaseCrawler service
2. MSCommunity BiH konferencija
Hosting
• Njemačka
• Trenutno na 3 dedicated fizička servera
• Database, Crawler, Web
• Brzi rast baze podataka – trenutno oko 50 GB
• Crawler obrađuje oko 200.000 feedova
• Proširenje u budućnosti
2. MSCommunity BiH konferencija
PROBLEMI SA KOJIMA SE SUSREĆEMO
2. MSCommunity BiH konferencija
Crawler problemi
• HTTP problemi
• XML problemi
• RSS / Atom problemi
• Ostali problemi…
• Brian Reischl – NewsGatorhttp://inessential.com/2013/03/18/brians_stupid_feed_tricks
2. MSCommunity BiH konferencija
Problemi sa bazom
• Optimizacija upita
• Optimizacija veličine
• Izbjegavanje deadlock-ova
• Optimizacija indexa
2. MSCommunity BiH konferencija
Problemi sa web aplikacijom
• SPA – Durandal, Knockout, jQuery, Bootstrap
• Kompatibilnost sa svim novijim browserima
• Optimizacija brzine skrolovanja
• Optimizacija memorije
2. MSCommunity BiH konferencija
Ostali problemi
• Marketing
• Hosting
• …
2. MSCommunity BiH konferencija
Nije sve baš tako jednostavno…… ali vrijedi
2. MSCommunity BiH konferencija
Budućnost
• Mobilne aplikacije – Android i iOS
• Verzija 1.1– Poboljšana kompatibilnost sa mnogim feedovima
– Bootstrap 3 upgrade i responzivni dizajn
– Podrška za sortiranje foldera i feedova
– Automatsko osvježavanje
• Dalji razvoj premahttps://silverreader.uservoice.com/
• Freemium model
2. MSCommunity BiH konferencija
Pitanja?
2. MSCommunity BiH konferencija
Hvala Vam na pažnji!