Почетна » Тоолкит » 10 веб апликација направљених помоћу Бацкбоне.јс [студија случаја]

    10 веб апликација направљених помоћу Бацкбоне.јс [студија случаја]

    Јесте ли икада били уплетени у шпагети код? Да ли бисте радије нахранили вашу апликацију нешто здравије? Ако је тако, завирите у оно што се може постићи Бацкбоне.јс. Кичмени стуб је ЈаваСцрипт библиотека која се слободно заснива на моделу-поглед-контролер дизајнерског узорка, али пошто му недостаје елемент контролера, боље је назвати МВ * оквир.

    Помаже вам да изградите брзо, елегантно и богато подацима веб-апликације на једној страници, чува ваше логика података одвојена од вашег корисничког интерфејса, штеди вас од везивања података у ДОМ и скале како ваша апликација расте. Пошто се Бацкбоне синхронизује са било којим РЕСТфул АПИ-јем, можете једноставно да повежете апликацију са клијентске стране са постојећим АПИ-јем на серверској страни помоћу РЕСТфул ЈСОН интерфејса.

    У овом посту ћемо проучавати 10 веб апликација које користе функције Бацкбоне библиотеке како би вам помогли да схватите потенцијал који Бацкбоне.јс има за ваше будуће пројекте веб апликација.

    1. Трелло

    Трелло је апликација за онлине сарадњу и управљање пројектима која вам помаже да организујете пројекте у таблама, контролним листама, картицама, листама картица и пружа вам алате као што су разговори за комуникацију чланова тима.

    Трелло је изграђен од темеља са Бацкбоне.јс. Бацкбоне ради заједно са ХТМЛ5 Хистори АПИ-јем и Мустацхе-овим логичким језиком без текста на сучељу. Сви елементи Трелло Тецх Стацк дизајнирани су на начин који је резултирао а одрживи клијент који лако управља ажурирањима, и динамички се синхронизује са сервером кад год се покрене ДОМ догађај.

    Трелло користи Бацкбоне Модел и Виевс за своје објекте као што су Цардс или Мемберс и Бацкбоне Цоллецтионс за повезане моделе - на пример Цардс у листи. И програмери изградили су сопствени кеш на моделу на страни клијента за бржа ажурирања и још ефикасна поновна употреба кода.

    2. Фоурскуаре

    Вероватно сте већ чули Фоурскуаре, популарна апликација за друштвено умрежавање заснована на локацији која вам омогућава да делите простор са пријатељима широм света.

    Фоурскуареов основни ЈаваСцрипт АПИ је изграђен око Бацкбоне модела, где Класа модела Фоурскуаре АПИ-ја (као што су Усерс, Венуес и Цхецк-инс) су подкласе класа Бацкбоне Модел и наслеђују њихове методе и својства.

    Имплементација кода може бити скицирана на следећи начин: фоурСк.апи.моделс.Венуе = фоурСк.апи.моделс.Модел.ектенд (…); Да, тако је, Бацкбоне омогућава девс то напишите лијепо објектно оријентирани ЈаваСцрипт.

    Прегледи кичма такође имају своју улогу у апликацији Фоурскуаре, јер побољшавају корисничко искуство са сличним функцијама мапе и листе почетне странице. Осим Бацкбоне, ЈаваСцрипт АПИ за Фоурскуаре такође користи јКуери, Ундерсцоре.јс (што је једина чврста овисност Бацкбоне-а) и компилатор затварања.

    3. Басецамп календар

    Стационар, популарна апликација за управљање пројектима користи Бацкбоне.јс за своју функцију календара.

    Главни циљ дизајна Басецамп календара био је да се направи интерактивни интерфејс који прави интуитивно групно распоређивање могуће, и ажурира се у милисекундама. У Басецамп календару Бацкбоне приказује Виевс у ЕЦО (Ембеддед ЦоффееСцрипт) предлошке кад год се ажурирају модели (подаци на страни клијента).

    Интересантно је примијетити да тим развојних тимова није учинио цијелу Басецамп апликацијом која се састоји од једне странице, што је примарни случај кориштења Бацкбоне.јс, већ је користио само библиотеку у функцији Цалендар гдје су стварно могли искористити њене предности. Показује се да вам није неопходно да направите пуну апликацију са једном страном помоћу Бацкбоне-а; боље је пажљиво размислити о томе гдје се може примијенити.

    Прочитајте више о Бацкбоне антипаттернс-у да бисте одлучили да ли вам је потребна Бацкбоне за целу апликацију или не.

    4. Фловдоцк

    Фловдоцк је апликација за комуникацију у реалном времену која вам пружа функције као што су групни цхат, тимски сандучићи и радни токови у реалном времену

    Фловдоцк је изграђен од темеља на врху Бацкбоне.јс. Главни изазов развојног тима био је да омогући поруке и радне процесе у реалном времену. Подразумевано се Бацкбоне.јс спаја на серверску страну преко РЕСТфул интерфејса, што не омогућава проток података у реалном времену. Због тога су девс одлучио је да сачува поруке преко Соцкет.ио реал-тиме мотора уместо РЕСТ АПИ-ја.

    Да би то постигли, они написао прилагођени метод зове Бацкбоне.синц. Пошто је Соцкет.ио такође ЈаваСцрипт библиотека, чини комуникацију између ЈаваСцрипт-а и бацкенд-а (Ноде.јс) бешавне. Фловдоцк је примарно Раилс апликација на страни сервера, али они имају засебну Ноде.јс позадину која управља Соцкет.ио везама.

    Фловдоцк побољшава корисничко искуство у реалном времену још више са Бацон.јс, згодном ЈаваСцрипт библиотеком која омогућава функционално реактивно програмирање. Функција ЕвентСтреамс од Бацон.јс помаже Фловдоцку да ажурира свој модел и колекције Бацкбоне.

    5. Претрага коктела

    Цоцктаил Сеарцх је опен соурце апликација која вам даје прилику да погледате код врло једноставне имплементације Бацкбоне.јс. Бацкенд покреће Питхон, али оно што нам је занимљиво је датотеку сцрипт.јс апликације.

    Ако испитате код, можете видети веома основну структуру оквира Модел-Виев- * која садржи једну Модел дефинисано у Коктел класа која не мења подразумеване поставке родитељске класе Бацкбоне.Модел, једна Бацкбоне Цоллецтион за резултате претраге, и 3 Прегледи окоснице, сваки додаје нове методе у Бацкбоне.Виев парент цласс.

    Ако погледате датотеку индек.хтмл, можете открити како је програмер додао Бацкбоне.јс и његове зависности, Ундерсцоре.јс и јКуери у глави. Ундерсцоре.јс је једина тешка зависност Бацкбоне-а док је јКуери потребан ако желите манипулирати ДОМ-ом уз помоћ Бацкбоне Виевс (што је случај са апликацијом Цоцктаил Сеарцх).

    6. Битбуцкет

    Битбуцкет је хостинг изворни код и апликација за управљање кодом слична Гитхубу. Атлассиан, компанија иза ње, користи Бацкбоне у ЈИРА софтверу за праћење комерцијалних проблема, њихов други главни производ.

    Током детаљног коришћења Бацкбоне.јс у својим апликацијама, развојни тим је нашао неколико ствари које су пропустили из Бацкбоне-а. Срели су се много тихих грешака узрокованих лабавим конвенцијама дефиниције Бацкбоне.јс. То у суштини значи Модели, Збирке и Погледи не дефинишу нужно прилагођене догађаје које излажу. А ако то није било довољно, модели не дефинишу чак ни атрибути они излажу.

    Ова пермисивна природа је карактеристика коју воле многи програмери, али не и Атлассиан тим па су развили сопствени Бацкбоне наставак који се зове Бацкбоне.Браце додаје миксине и само-документоване атрибуте и догађаје у библиотеку.

    Ако вас нервира иста ствар, можете додати Бацкбоне.Браце у своју апликацију, јер је то пројекат отвореног кода који се налази на самој Битбуцкет-у. БитБуцкет користи језик Темплатинг Мустацхе баш као Трелло за приказивање Бацкбоне Виевс на фронтенду.

    7. СоундЦлоуд

    СоундЦлоуд је популарна платформа за дистрибуцију звука на којој можете да снимате, отпремате и делите сопствени звук или бесплатно слушате музику.

    Развојни програмери СоундЦлоуд-а су прво користили Бацкбоне.јс као фронтенд оквир своје мобилне апликације, али им се толико допао да су га користили и на клијентској страни њиховог десктоп десктопа. У њиховом Бацкстаге блогу објашњавају свој избор оквира са Бацкбоне способностима пружају чврсту структурну основу, док су и даље флексибилни.

    Скалирање је главна брига за аудио стреаминг апликацију, а СоундЦлоуд то потврђује “има више везе са организацијом него са имплементацијом” што чини добро организовану, али лагану Бацкбоне идеалним избором за њих.

    СоундЦлоуд користи семантички темплатинг систем Хандлебарс за приказивање Бацкбоне Виевс на фронтенду.

    8. АирБнБ

    АирБнБ је невероватно успешна заједница на тржишту где можете пронаћи и резервисати различите типове смештаја у скоро 200 земаља широм света

    АирБнБ је прво користио Бацкбоне.јс у својој мобилној апликацији као СоундЦлоуд, али ју је касније све више користио у својим веб апликацијама као што су Висхлистс, Матцх, Сеарцх, Цоммунити анд Паиментс. АирБнБ је толико волео Бацкбоне да се нису само договорили да га користе на фронту, већ су желели да омогуће покретање библиотеке на позадини.

    Касније направио њихову библиотеку на бази сервера, Рендр, опен соурце и доступне на њиховој Гитхуб страници. Рендр је написан у Ноде.јс и следи филозофију “наметање минималне структуре, дозвољавајући програмеру да користи библиотеку на најприкладнији начин за њихову примену” баш као и сама Бацкбоне

    Ако сте више заинтересовани за АирБнБ-ову технологију, прочитајте њихов пост о њиховом путовању од Раилс бацкенд-а до Светог Грала истовремена употреба Бацкбоне-а на страни клијента и на страни сервера.

    9. Хулу

    Хулу је апликација за видео стреаминг која вам омогућава да гледате ТВ емисије и филмове бесплатно, ако се налазите у САД-у.

    Хулу је користио Бацкбоне.јс да би изградио беспрекорно и брзо корисничко искуство за љубитеље филмова. Интерфејс омогућава брзо кретање кроз апликацију уз благи прелазак кроз навигацију. Кичмени стуб штеди пропусност за кориснике као скрипте и уграђене видео записе немој се поново пунити све време.

    Хулу покреће Раилс мотор на позадини, а ако волите забавне али информативне разговоре, можете читати о томе како се тим развојних тимова упетљао у јКуери пре него што коначно одлучите да се промените у организованија окосница.

    Бацкбоне.јс је дозволио Хулу-у да постепено претварају њихово приказивање са стране сервера на страну клијента уместо да радите ризично преписивање постојећег Раилс бацкенд-а.

    10. Цоунтли

    Цоунтли апликација за мобилну аналитику у реалном времену која вам омогућава да пратите перформансе апликације иПхоне, Андроид или Виндовс Пхоне директно из прозора прегледача.

    Погледајте изузетну листу софтвера отвореног кода који је коришћен за развој платформе, укључујући суперзвездице последњих година: Нгинк, МонгоДБ, Ноде.јс за серверску страну и наравно Бацкбоне.јс за фронтенд.

    Бројач користи библиотеку семантичког темплата Хандлебарс за рендерирање Бацкбоне Виевс који приказују податке припремљене и учитане са Бацкбоне Моделс. Цоунтли је апликација погодна за развојне програмере: не само да се лако може проширити, већ и њена документација омогућава развојним програмерима овакве приручнике како изградити прилагођене додатке на врху језгра Бацкбоне клијента.

    Напомена уредника: Ово је написала Анна Монус за Хонгкиат.цом. Анна је веб девелопер и писац кодова са интересовањем за науку, вештачку интелигенцију и дисруптивне технологије.