Prześlij komponenty

Komponenty do przesyłania to oprogramowanie przeznaczone do osadzenia w witrynie internetowej w celu dodania do niej funkcji przesyłania. Komponenty przesyłania mają zastąpić standardowy HTML 4. W porównaniu z HTML4, Upload Components mają bardziej przyjazny dla użytkownika interfejs i obsługują szerszy zakres funkcji.

Przesyłanie plików HTML

Standard HTML4 obsługuje żądanie danych, które mają być pobierane z komputera klienckiego i przesyłane na serwer. Standardowym mechanizmem tego typu transmisji danych są formularze HTML. W przypadku formularzy HTML pliki użytkownika mogą być przesyłane przy użyciu znacznika <input/> z różnymi atrybutami. Ta metoda umożliwia programistom witryn internetowych wdrażanie podstawowych funkcji przesyłania. Ma jednak następujące wady:

  • Przesyłanie wielu plików nie jest dostępne – użytkownik może przesłać tylko 1 plik na raz.
  • Ograniczony rozmiar przesyłanych plików - zwykle niemożliwe jest wysłanie plików do kilkudziesięciu megabajtów (MB) przez HTTP.
  • Optymalizacja przed przesłaniem plików nie jest dostępna.
  • Słaba wizualizacja – użytkownik nie widzi żadnych informacji o postępie wysyłania i szacowanym czasie wysyłania.
  • Podgląd wybranych plików nie jest obsługiwany.
  • Niezręczny wygląd – sposób, w jaki użytkownik wybiera pliki do przesłania, jest niewygodny.

Alternatywy przesyłania HTML

Komponenty przesyłania pozwalają ominąć ograniczenia i wady przesyłania HTML, o których wspomniano wcześniej. Komponent przesyłania to wtyczka , która umożliwia przesyłanie plików z klienta na serwer . Zwykle komponenty do przesyłania są opracowywane przez firmy zewnętrzne i można je zintegrować z dowolną witryną internetową na dowolnej platformie . Przeglądarka internetowa użytkownika wyświetli osadzony komponent wysyłania jako część strony internetowej. Przesyłane komponenty mogą być budowane przy użyciu różnych technologii: Flash , Silverlight , Java , ActiveX i HTML5 .

Społeczność W3C jest w trakcie opracowywania standardu HTML5, którego pełna specyfikacja spodziewana jest do 2014 roku. HTML5 ma obsługiwać treści multimedialne bez żadnych wtyczek czy komponentów. W przypadku funkcji przesyłania nowe interfejsy API HTML5 oferują szeroką gamę nowych funkcji, w tym dostęp do systemu plików klienta oraz dynamiczne generowanie żądań i przetwarzanie obrazów.

Nowe funkcje HTML5 mogą być dobrą podstawą do implementacji komponentów do przesyłania z wyrafinowanym interfejsem użytkownika i możliwością przesyłania dowolnej ilości danych. Niestety obecnie przeglądarki obsługują te funkcje częściowo iw inny sposób, co stanowi poważną przeszkodę. Sytuacja pogarsza się, jeśli przypomnimy sobie, że nadal duża liczba użytkowników korzysta z systemu Windows XP (28%) oraz przestarzałych wersji Internet Explorera (11%).

Technologie tworzenia komponentów do przesyłania

Komponenty uploadu mogą być opracowane w oparciu o różne technologie mające na celu rozszerzenie funkcjonalności przeglądarki. W zależności od technologii i jej funkcji, przesyłane komponenty mogą obsługiwać mniej lub więcej funkcji, być mniej lub bardziej konfigurowalne i łatwiejsze w użyciu.

Technologia Przeglądarki system operacyjny Mobilny system operacyjny Wymagania dotyczące oprogramowania klienckiego
Aplety Javy Internet Explorer, Firefox, Chrome, Safari, Opera Windowsa, Mac OS X, Linuksa Bez wsparcia Maszyna Javy
Sterowanie lampą błyskową Internet Explorer, Firefox, Chrome, Safari, Opera Windowsa, Mac OS X, Linuksa Bez wsparcia Odtwarzacz Flash
Sterowanie Silverlightem

Preferowane są technologie firmy Microsoft

Internet Explorer, Firefox, Chrome, Safari, Opera Windows, Mac OS X, Linux (Moonlight) Bez wsparcia Wtyczka Silverlight
kontrolki HTML5 Chrome, Firefox, Opera, Safari, Internet Explorer,

Ograniczone wsparcie

Windowsa, Mac OS X, Linuksa iOS, Android, Windows Phone 7,

Ograniczone wsparcie

Przeglądarka internetowa kompatybilna z HTML5
Formanty ActiveX Internet Explorera Okna bez wsparcia Internet Explorera

Jawa

Aplety Java to komponenty działające w przeglądarce internetowej . Są one rozwijane w postaci kodu bajtowego Java . Aplety są obsługiwane przez większość nowoczesnych systemów operacyjnych i przeglądarek. Aplety Java mają wysoką wydajność zbliżoną do natywnego zainstalowanego oprogramowania. Aplety Java są podpisywane certyfikatami bezpieczeństwa, aby stać się zaufanym oprogramowaniem, co umożliwia automatyczną redystrybucję ze strony internetowej i instalację na komputerach klienckich.

Błysk

Przesyłane komponenty można zaimplementować jako kontrolki Adobe Flash . Flash to platforma do uruchamiania aplikacji multimedialnych w Internecie. 24% wszystkich witryn internetowych korzysta z komponentów Flash, a odtwarzacz Flash jest zainstalowany na 99% komputerów z dostępem do Internetu. Flash to wieloplatformowa i wieloprzeglądarkowa technologia, dzięki której komponenty Flash do przesyłania mogą działać w różnych przeglądarkach, z wyjątkiem platform mobilnych .

Silverlight

Innym rodzajem komponentów do przesyłania jest Silverlight , która jest technologią firmy Microsoft wymagającą zainstalowania wtyczki przeglądarki. W funkcjach jest bardzo podobny do Adobe Flash i jest obsługiwany przez większość nowoczesnych przeglądarek i systemów operacyjnych. Istnieją wersje Silverlight dla Windows i Mac OS X , a także wersja dla Linuksa o nazwie Moonlight . Silverlight to jedna z podstawowych technologii wykorzystywanych do Windows Phone .

HTML5

HTML5 to nowy standard HTML opracowany w celu dodania obsługi multimediów do HTML. Jest obsługiwany w systemach Windows, Mac OS X, Linux, iOS , Android i Windows Phone. Ponieważ format jest wciąż w fazie rozwoju, a niektóre funkcje używane do przesyłania plików nadal nie są częścią standardu, komponenty przesyłania HTML5 nie są obecnie powszechne. Ich obsługa jest ograniczona do podzbioru przeglądarek.

Przeglądarki komputerowe obsługują HTML5

Obsługa HTML5 stale się poprawia. Najlepszą obsługę funkcji HTML5 zapewniają najnowsze wersje przeglądarek Chrome , Firefox , Safari i Opera . Internet Explorer zapewnia najmniejsze wsparcie. Internet Explorer 10 ma mniejsze wsparcie niż wersje innych przeglądarek; jednak zasięg będzie dwa razy lepszy niż Internet Explorer 9 . [ wymagane wyjaśnienie ]

Obsługa platform mobilnych HTML5

iOS 5 ma wystarczająco wysoki poziom obsługi HTML5; jednak jego poziom obsługi pozostaje niższy niż w przypadku przeglądarek komputerowych.

Windows Phone 7.5 „Mango” ma niewielkie wsparcie dla HTML5, co czyni go porównywalnym z brakiem wsparcia standardu dla stacjonarnego Internet Explorera 9.

Najnowszy system Android 5.0 obsługuje znacznie więcej funkcji HTML5 niż Windows Phone, ale mniej niż iOS.

Trwają prace nad obsługą HTML5 w przeglądarkach mobilnych.

Funkcje, które nie są możliwe przy standardowym przesyłaniu HTML4

Przesyłane komponenty zapewniają dodatkowe funkcje i wrażenia użytkownika, których nie zapewnia czysty HTML4.

Pasek postępu
Paski postępu służą do informowania użytkowników o szczegółach postępu przesyłania. Komponenty przesyłania obsługują paski postępu wyświetlające takie parametry, jak nazwy plików, rozmiary plików, prędkość wysyłania itp.
Przesyłanie wielu plików i folderów
Niektóre witryny wymagają obsługi przesyłania wielu plików jednocześnie. Ta funkcja jest niezwykle ważna przy przesyłaniu komponentów w sieciach społecznościowych , galeriach zdjęć , udostępnianiu plików , itp. Standardowe podejście HTML4 jest kłopotliwe. Komponenty przesyłania obsługują przesyłanie wielu plików w bardziej elastyczny sposób, na przykład umożliwiając prostszy wybór plików do jednoczesnego przesyłania z kilku folderów.
Przesyłanie ogromnych plików
Przesyłanie ogromnej ilości danych zawsze stanowi problem, ponieważ rozmiar żądania może być zbyt duży, aby proces przesyłania mógł się pomyślnie zakończyć, prawdopodobnie z powodu wolnych lub niestabilnych połączeń internetowych. Po stronie serwera mogą obowiązywać ograniczenia dotyczące maksymalnego rozmiaru żądań HTTP. Komponenty przesyłania muszą znaleźć równowagę między potrzebami klienta z jednej strony a zasobami i ograniczeniami serwera i kanału z drugiej. W przypadku dostarczania dużych plików do komponentów serwera tzw. „chunk upload” dzieli plik na kilka części (fragmentów) przed rozpoczęciem procesu uploadu. Każdy fragment jest wysyłany w odpowiedzi na pojedyncze żądanie; po dotarciu wszystkich fragmentów na serwer oryginalny plik jest ponownie składany.
Bezpieczne przesyłanie
Podczas procesu przesyłania mogą wystąpić nieoczekiwane problemy lub usterki, prowadzące do niepowodzenia przesyłania i uszkodzenia plików. Aby rozwiązać te problemy, komponenty przesyłania mają niezawodne mechanizmy zapewniające funkcje sportowe, takie jak automatyczne wznawianie procesu przesyłania, wysyłanie plików pojedynczo w jednym pakiecie i przesyłanie częściowe.
Wysyłanie dodatkowych danych wraz z plikami
Czasami warto przesłać wraz z plikiem dodatkowe dane, takie jak opisy informacyjne lub pola Exif / IPTC lub sumy Hash w celu określenia, czy plik został uszkodzony lub uszkodzony podczas procesu przesyłania.
Przesyłanie współbieżne
Komponenty przesyłania mogą mieć funkcję przesyłania współbieżnego — wysyłanie pakietów wysyłania w wielu wątkach . W niektórych przypadkach korzyści płynące z procesu wysyłania polegają na zwiększeniu ogólnej szybkości wysyłania, skróceniu czasu wysyłania i bardziej efektywnym wykorzystaniu zasobów komputera.
Natychmiastowe przesyłanie
Takie podejście umożliwia rozpoczęcie wysyłania plików zaraz po dodaniu ich do kolejki przesyłania.
Przesyłanie do magazynu w chmurze
Komponenty przesyłania mogą przesyłać pliki do magazynu w chmurze .
Przeciągnij i upuść
Drag-n-Drop to forma interakcji interfejsu graficznego programu użytkownika , która polega na wybraniu jednego obiektu i przeciągnięciu go na inny obiekt. Metoda „przeciągnij i upuść” jest szeroko rozpowszechniona, ponieważ pomaga zwiększyć użyteczność programu .
Konfigurowalny wygląd
Komponenty przesyłania obsługują dostosowywanie wyglądu komponentów, aby pasowały do ​​projektu witryny internetowej, między innymi poprzez takie konfiguracje, jak style czcionek, rozmiary, kolory lub tryby wyświetlania.
Lokalizacja
Gdy komponent przesyłania wejdzie na rynek międzynarodowy, potrzebuje wsparcia w tłumaczeniu etykiet tekstowych i komunikatów interfejsu na inne języki. Zwykle komponenty do przesyłania mają konfigurowalną obsługę najczęściej używanych języków . Interfejs użytkownika może być również wielojęzyczny. [ potrzebne wyjaśnienie ] W przypadku niektórych języków, takich jak hebrajski , proces lokalizacji obejmuje nie tylko tłumaczenie, ale także przełączenie na wygląd i działanie od prawej do lewej.
Walidacja plików po stronie klienta
Aby zaoszczędzić zasoby po stronie serwera, komponenty przesyłania mogą zastosować sprawdzanie poprawności po stronie klienta do plików wybranych do przesłania w kilku grupach: typy plików (które mogą być selektywnie definiowane lub blokowane przez programistę), rozmiar pliku (który można ustawić na minimalną/maksymalną dozwoloną wartość). rozmiary) i rozmiar obrazu (który może mieć skonfigurowane minimalne/maksymalne rozmiary między innymi parametrami).

Przesyłanie obrazu

Komponenty przesyłania służą do przesyłania obrazów, więc istnieją komponenty, które mają dodatkowe funkcje przetwarzania obrazu przed przesłaniem.

Zmiana rozmiaru
Zdjęcia zrobione nowoczesnymi aparatami cyfrowymi mają wysoką rozdzielczość , ale większość stron internetowych wymaga zmiany rozmiaru obrazów w celu zaoszczędzenia przepustowości. Komponenty przesyłania umożliwiają automatyczną zmianę rozmiaru i przesyłanie obrazów, z oryginalnym plikiem lub bez niego, lub z kopią miniatury do wykorzystania jako awatar itp.
Obrót
Obrót obrazu to bardzo ważna funkcja dla witryn internetowych, dająca użytkownikom podstawowe możliwości edycji obrazu. Obrazy są obracane automatycznie (na podstawie danych Exif) lub użytkownik może ręcznie obracać obraz.
Upraw
Przytnij pozwala użytkownikom wybrać fragment obrazu, który powinien być gdzieś przechowywany lub wydrukowany. Kadrowanie polega na usunięciu zewnętrznych części obrazu w celu podkreślenia jakiegoś obiektu na obrazie lub zmiany proporcji. [ potrzebne wyjaśnienie ]
Znaki wodne Znak
wodny to wiadomość tekstowa lub obraz umieszczony na oryginalnym obrazie, który służy do ochrony własności intelektualnej lub określania ważnych informacji, takich jak data wykonania obrazu, komentarze tekstowe lub prawa autorskie. Komponenty przesyłania mogą obejmować funkcję dodawania znaków wodnych do wszystkich przesyłanych obrazów.
Metadane Exif/IPTC
Obrazy mogą zawierać metadane w różnych formatach, np. Exif lub IPTC.
Pola Exif zawierają informacje z urządzenia, z którego wykonano plik obrazu: parametry aparatu, datę i miejsce wykonania zdjęcia, ekspozycję, parametry obiektywu, dane GPS i inne.
Pola IPTC zawierają bardziej szczegółowe dane dotyczące autorstwa obrazu. Niezwykle ważne jest, aby komponenty przesyłania zachowywały oryginalne metadane obrazu w procesie przesyłania.
jakości
Miernik jakości to wizualny wskaźnik pokazujący jakość obrazu ( dpi , szerokość, wysokość) i pomaga użytkownikowi zdecydować, czy obraz jest wystarczająco dobry do użycia. Przykładem użycia miernika jakości może być witryna internetowa do drukowania zdjęć z wbudowanym komponentem przesyłania, który powiadamia użytkowników, jeśli rozdzielczość obrazu nie jest odpowiednia do drukowania w wybranym formacie.