Jump to content
php.lv forumi

Maksimāli ātra realtime tehnoloģija


qwerty

Recommended Posts

Jāizstrādā neliela realtime web aplikācija, kas paredzēta lietošanai tikai viena uzņēmuma ietvaros apmēram 30 darbiniekiem. Ļoti, ļoti svarīga ir ātrdarbība. Ja persona A nospiež pogu, serveris veic dažas vienkāršas darbības, un personai B par to momentāni jāuzzina. 1 sekunde būs par lēnu. Ideāli būtu no pogas nospiešanas brīža līdz notifikācijai personas B ierīcē apmēram 300 milisekundes, bet, ja iespējams, tad ātrāk.

  • Basic GUI - viena lapa autorizācijai, viena pašai appai ar real time datiem.
  • Basic backends - atbilstoši saņemtajām komandām, serveris veic izmaiņas 4-5 DB dabulās, kopumā neglabā vairāk kā 10mb datu.
  • Nemitīgi notiek nelielu foto attēlu vai video nosūtīšana uz un no servera.
  • Jāsupportē tikai modernie browseri - Chrome, Mozilla, Opera, Safari jaunākās versijas, IE10
  • Pieslēgšanās notiek autorizēti no 3g vai 4g tīkla

Man ir pilna kontrole pār serveri, varu instalēt jebko.

 

Pēc googlēšanas izskatās, ka labākais risinājums ir NodeJS un Socket.io backendā, bet ReactJS frontendā. Varbūt ir kas ātrāks? Paziņa ieteica, ka šādā gadījumā uz servera varētu darboties kāda kompilēta valoda, kaut kas no C, bet galīgi nav zināšanu šajā jomā.

Link to comment
Share on other sites

  • Replies 51
  • Created
  • Last Reply

Top Posters In This Topic

man liekas, ka NodeJS ir labs variants, jo tas Javascripts tāpat JIT mehānismā tiek kompilēts uz mašīnkodu, tāpēc ņemt C būtu izstrādes overheads. Ja ļoti gribas, tad labāk Haxe, kas kompilē uz C source un nav jāuztraucas par manuālu memory menedžmentu un citiem low-level niķiem.

 

Lēnākais posms drīzāk būs tīkls vai datubāze. DB es izvēlētos MongoDB. 

Edited by gurkjis
Link to comment
Share on other sites

> This is an indication of a problem with how we developers choose frameworks. On the one hand, it’s really hard to evaluate such a project without spending a long time using it. On the other hand, many people like to recommend projects they haven’t used in any depth, because the idea of knowing what the next big thing is feels good. The result is that people choose frameworks largely based on advice from people who don’t know what they’re talking about.

 

-- http://larseidnes.com/2014/11/05/angularjs-the-bad-parts/

Link to comment
Share on other sites

>The amount of searches for various SPA frameworks.  (A less charitable interpretation of this data would be that Angular users have to search for answers more often than the others do.)

Auč. Bet es piekrītu, kad es ar viņu ņēmos, tā bija, ka baigi neintuitīvi un daudz kas bija jāmeklē.

Edited by jurchiks
Link to comment
Share on other sites

> This is an indication of a problem with how we developers choose frameworks. On the one hand, it’s really hard to evaluate such a project without spending a long time using it. On the other hand, many people like to recommend projects they haven’t used in any depth, because the idea of knowing what the next big thing is feels good. The result is that people choose frameworks largely based on advice from people who don’t know what they’re talking about.

 

-- http://larseidnes.com/2014/11/05/angularjs-the-bad-parts/

 

..and your suggestion is .. ?

Edited by qwerty
Link to comment
Share on other sites

Mana izvēle būtu Scala/Play servera pusē ar ReactJs klienta pusē.

Plusi, ja aplikācija ir vienkārša un neprasa distributētu db, vari izmantot kādu no daudzajām JAVAs iebūvētajām sql db, tāpat izmantot iebūvēto play webserveri, kā rezultātā uz servera tev būs viens jar fails, kuru jāpalaiž. Nekādu lieku konfigurāciju un instalāciju + no ātrdarbības viedokļa ātrākais, ko tu vari dabūt bez liekas piepūles.

 

Bet, saprotams, ja tev ir pieredze ar node, tad nelielam projektam node būs pietiekami labs.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...