ჯეიკობ ო'ბრაიანმა Biff-ის ფრეიმვორკის მოდულარიზაციის გეგმის პირველი ეტაპი დაასრულა. პროექტის მიზანი ფრეიმვორკის მცირე, დამოუკიდებელ ბიბლიოთეკებად დაყოფაა. პირველი მათგანი, biff.core, უკვე ხელმისაწვდომია და ის წარმოადგენს იმ „წებოს“, რომელიც სხვა კომპონენტებს ერთ მთლიანობაში აერთიანებს.

Biff-ის წინა ვერსიებში „მოდულებისა და კომპონენტების“ სტრუქტურა საკმაოდ მოცულობით ბოილერპლეიტ კოდს მოითხოვდა. ახალი ბიბლიოთეკა ამ პროცესს ოპტიმიზაციას უკეთებს. დეველოპერებს ახლა შეუძლიათ გამოიყენონ „ინიციალიზაციის ფუნქციები“, რომლებიც მოდულების კოლექციას იღებენ და აბრუნებენ ერთიან სისტემურ რუკას (map).

ერთ-ერთი მთავარი ტექნიკური გამოწვევა იყო ე.წ. „გვიანდელი ბმების“ (late binding) შენარჩუნება. ტრადიციულად, Biff-ში ჰენდლერების (handler) განსაზღვრა აპლიკაციის დონეზე ხდებოდა, რაც საშუალებას იძლეოდა სერვერის გადატვირთვის გარეშე განახლებულიყო კოდი. biff.core-მა ეს ფუნქციონალი შეინარჩუნა მემოიზირებული ფუნქციებისა და ცვლადების (var) გამოყენებით.

როგორ მუშაობს biff.core?

  • ინიციალიზაციის ფუნქციები მუშაობენ მოდულების ვექტორზე.
  • სისტემურ რუკაში შემავალი ელემენტები, რომლებიც ცვლილებას საჭიროებენ, წარმოდგენილია ფუნქციების სახით.
  • ფუნქციები ახდენენ მოდულების ვექტორის დერეფენცირებას და საჭირო რესურსების დინამიურ აგებას.

ავტორის თქმით, ახალი მიდგომა დეველოპერებს საშუალებას აძლევს, შეინარჩუნონ სუფთა კოდი მთავარ ნეიმსფეისში (namespace). საკმარისია მხოლოდ საჭირო მოდულებისა და კომპონენტების დამატება. მიუხედავად იმისა, რომ არსებობდა ცდუნება, კომპონენტების სასიცოცხლო ციკლი (lifecycle) უფრო რთულად ავტომატიზებულიყო, ო'ბრაიანი მიიჩნევს, რომ ფუნქციების თანმიმდევრული ჯაჭვი ყველაზე გასაგებ და ეფექტურ მეთოდად რჩება.

აღსანიშნავია, რომ ჯეიკობ ო'ბრაიანის გუნდი ამჟამად აფართოებს საქმიანობას და ეძებს გამოცდილ პროგრამისტებს, რომლებიც ClojureScript-სა და Python-ზე მუშაობენ. კომპანია სპეციალიზდება განახლებადი ენერგიის პროექტების მოდელირებაზე.