Zalecana, 2024

Wybór redaktorów

Facebook zmienia się w stare stare C ++, aby zasilić nową aplikację do udostępniania zdjęć

Messenger bez Facebooka - zobacz jak!

Messenger bez Facebooka - zobacz jak!
Anonim

Czasami najlepszym narzędziem do wykonania jest najstarsze narzędzie w zestawie narzędziowym.

W przypadku nowej aplikacji do udostępniania zdjęć Moments, Facebook usunął uprawy modnych obecnie mobilnych platform programistycznych. korzyść z kodowania w czcigodnym języku programowania C ++.

W rezultacie firma jest w stanie utrzymać jedną podstawę kodu dla większości aplikacji, która działa zarówno na urządzeniach z systemem iOS, jak i Android.

"Jest to trochę zaskakujący wybór "- przyznał Ashwin Bharambe, jeden z twórców Facebooka, który stworzył Moments, o korzystaniu z C ++. "Coraz więcej osób próbuje to zrobić, aby udostępniać kod na różnych platformach."

Rozpoczęty w poniedziałek, Moments ma na celu gromadzenie i wyświetlanie zdjęć zrobionych przez grupę ludzi, na przykład grupę przyjaciół spędzających wolny czas przy grillu, więc można je oglądać w jednym miejscu.

Obecnie jednym z najtrudniejszych problemów, z jakimi muszą się zmobilizować zespoły programistów mobilnych w budowaniu takich aplikacji, jest to, że muszą działać na wielu niekompatybilnych platformach. Utrzymywanie oddzielnych baz kodów dla systemów Android, Windows i iOS może być szczególnie czasochłonne, gdy trzeba dodać nowe funkcje, ponieważ wszystkie trzy bazy kodowe będą musiały być niezależnie aktualizowane.

Wiele firm, takich jak Xamarin i Microsoft samodzielnie, oferują platformy, które pozwalają programistom na utrzymywanie jednej bazy kodu dla aplikacji wieloplatformowych, choć deweloper jest uzależniony od platformy i może korzystać tylko z funkcji oferowanych przez samą platformę. Innym podejściem jest użycie zestawu otwartych standardów HTML5, chociaż wydajność może ucierpieć z tego podejścia.

Zamiast tego zespół programistów Facebooka poszedł z C ++.

Początkowo rozwijany pod koniec lat 70. XX wieku, C ++ jest potężnym narzędziem ogólnego zastosowania język programowania i nadal jest szeroko stosowany w pisaniu krytycznych i wrażliwych na wydajność aplikacji. Jest jednak mniej powszechne w przypadku platform mobilnych, ponieważ programowanie może być wyzwaniem, ponieważ zmusza twórcę do radzenia sobie z zarządzaniem pamięcią i innymi subtelnymi niuansami w abstrakcji.

Zespół Facebooka znalazł dodatkowe obciążenie bądź wart wysiłku. Dzięki C ++ "wiele naszych bardziej skomplikowanych logik może zostać zapisanych jeden raz i uruchomionych zarówno na iOS, jak i na Androidzie" - powiedział Bharambe. Jedna podstawa kodu pozwala grupie często aktualizować aplikację, a także zapewniać wysoką wydajność.

Facebook polegał na wielu zewnętrznych technologiach, które pomagają w implementacji.

Z Dropbox firma pożyczyła kawałek oprogramowania o nazwie Djinni, która konwertuje modele danych w C ++ na kod Java, język runtime dla Androida.

W przypadku aplikacji na iOS Facebook wykorzystał podobieństwa między C ++ i Objective-C, który jest preferowanym językiem Apple do budowania aplikacji na iPhone'a i iPada. Zespół był w stanie użyć lekkich obwolut, aby kod C ++ działał w środowisku Objective-C.

Zespół wykorzystał także funkcjonalne metody programowania, aby kod wynikowy był łatwiejszy do zrozumienia przez innych. Funkcjonalne programowanie eliminuje użycie zmiennych, traktując kod jako serię matematycznych funkcji.

Inżynierowie Facebooka stojący za Moments omówili niektóre z innych wyborów technologicznych, które zrobili na blogu opublikowanym w poniedziałek.

Top