Jaki język programowania wybrać na początek? [PRZEWODNIK]

Jeśli tylko na początku Twojej przygody z programowaniem wybierzesz odpowiednie “zabawki”, narzędzia, języki programowania, frameworki i biblioteki ze szczyptą angielskiego dla programistów, a przede wszystkim zdecydujesz, co tak naprawdę chcesz robić jako programista, nie przepracujesz ani jednego dnia.

Dzięki przebranżowieniu się do świata IT będziesz realizować swoją nową, ukochaną pasję i przy okazji otrzymywać co miesiąc pięciocyfrowy przelew. Każdy nowy projekt będzie dla Ciebie ogromnym wyzwaniem i ciekawą podróżą, a nie kolejnym żmudnym dniem na etacie.

Chcesz tworzyć coś z niczego? Masz pomysł na świetną aplikację mobilną? Widzisz, że wiele osób wokół Ciebie potrzebuje własnej, firmowej strony WWW i chciałbyś się sprawdzić w ich tworzeniu? Jeśli tak, to programowanie jest właśnie dla Ciebie.

Od czego zacząć naukę programowania? Jaki język programowania wybrać na początek?

Który język programowania wybrać na początek przygody z kodowaniem? Czy to w ogóle ma znaczenie? A może możesz nauczyć się czegokolwiek z dziedziny programowania i “jakoś to będzie”?

Wybór języka programowania na start jest bardzo ważny i uzależniony od wielu elementów. Nie jest to łatwa decyzja. W końcu język programowania to nie tylko reguły, komendy i algorytmy. To całe ekosystemy programistyczne. Łączą w sobie różne biblioteki i frameworki, które zupełnie odmieniają strukturę kodowania w danym języku.

Co chcesz robić jako programista?

Przed wyborem języka programowania do nauki, pomyśl o tym, który z działów programowania wydaje Ci się najbardziej interesujący i jakie produkty chciałbyś tworzyć.

Wysokie zarobki

Zależy Ci jedynie na wysokich dochodach? Wybierz Javę. Średnie wynagrodzenia w tym języku programowania wahają się od 5500 PLN brutto (dla początkujących) do 14 000 PLN brutto (dla doświadczonych programistów).

Pewne zatrudnienie

Być może po prostu szukasz dla siebie stabilnej pozycji na rynku pracy i nie interesuje Cię to, co dokładnie będziesz robić. Wtedy najlepszym wyborem i najchętniej poszukiwanym językiem programowania wśród pracodawców z branży IT jest Java (wymagana w 35,88% spośród wszystkich ogłoszeń o pracę dla back-end developera) oraz JavaScript (oczekiwana w 73,62% ogłoszeń dla front-end developerów).

Cokolwiek z programowania, byle łatwe do nauczenia, Python to prosty język programowania

Najprostszy na start dla Ciebie będzie Python.

Strony internetowe

Większość polskiego internetu jest oparta na PHP, więc jeśli chcesz tworzyć strony WWW, oparte np. na silniku WordPress, wybierz właśnie ten język programowania. O wiele prostszym, a równie funkcjonalnym językiem do tworzenia stron internetowych jest JavaScript.

Aplikacje mobilne

Chcesz tworzyć aplikacje mobilne? Jeśli wolisz Androida, postaw na Javę, Kotlin lub Swift. Może przydać się także JavaScript w połączeniu z React Native. Jeśli jesteś fanem Apple i iOs, wybierz Objective-C lub Swift.

Aplikacje webowe

Aplikacje webowe, czyli swego rodzaju platformy social media, serwisy rezerwacyjne, czy streamingowe (np. YouTube, czy Netflix, pod warunkiem, że korzystamy w nich w przeglądarce) lub aplikacje hybrydowe. Aplikacje hybrydowe to te łączące w sobie właściwości mobilne i webowe (np. Facebook, czy AirBnb).

Do tworzenia aplikacji webowych przyda Ci się JavaScript w zestawie z platformą node.js.

Aplikacje desktopowe na komputery stacjonarne i laptopy

Jeśli to jest Twój cel, polecamy C# (.NET) od Microsoftu lub Java.

Gry

Jeśli interesuje się gamedev i przemysł gamingowy, wybierz kurs Java (łatwiejszy na początek), C# lub C++ (trudniejsze, raczej dla doświadczonych koderów).

Programowanie dla dzieci

Jeśli chcesz, aby Twoje maluchy poznawały już świat programowania, zacznij od znanego na całym świecie Scratcha. Z polskiego podwórka możesz zaproponować im Skribots. Jest to gra mobilna z elementami programowania, VR, AR i robotyki. Następnie zapisz je na kurs Pythona, kiedy już zobaczysz, że chcą się w tym rozwijać. Najmłodszy uczestnik kursu miał 12 lat.

Nie wiesz jeszcze, co chcesz programować?

Chcesz po prostu “wgryźć się” w programowanie? Nie masz jeszcze nie masz pomysłu, w czym sprawdziłbyś się najlepiej? Nie ma problemu. Po prostu zacznij swoją podróż przez meandry programowania od kursu Pythona i szkolenia z JavaScript. To właśnie te języki dają dobrą podstawę przed nauką kolejnych i dalszym rozwojem w IT.

Dlaczego wybór języka programowania jest ważny?

Prosty algorytm: popularny język programowania => dużo rozwijanego oprogramowania w tej technologii teraz i w przyszłości => pewna praca i wyższe zarobki Świadomie wybierając język programowania, sam wybierasz, w jakich projektach chcesz się specjalizować Nie tracisz czasu na naukę czegoś, z czego korzysta się już rzadko lub wcale.

5 najpopularniejszych języków programowania – co o nich wiemy?

Oto kilka life-hacków przygotowanych przez ekspertów Software Development Academy dla osób, które dopiero chcą poznać pierwsze języki programowania w swojej karierze w IT.

JavaScript – język idealny na początek

Każde 60 sekund dla internetu to 571 nowych stron internetowych, za które przede wszystkim odpowiada JavaScript. Po opanowaniu tego języka np. podczas live codingu i warsztatów na żywo z trenerem na pewno nie będziesz narzekać na brak zleceń.

JavaScript w połączeniu z HTML i CSS to zestaw standardowych, najpopularniejszych technologii internetowych dla front-end developerów. Dzięki JavaScript możesz dodawać na stronę WWW różne skomplikowane, interaktywne elementy. Czyli np. animacje 2D / 3D, video, mapy, czy konkretne zdarzenia i prezentowanie treści dopasowanych do wybranego użytkownika.

Java – gwiazda programowania nr 1

Java to język programistyczny dla back-end developerów, w którym kodujesz gry, aplikacje mobilne i desktopowe oraz oprogramowanie dla firm. Dlatego w rankingu Spectrum i w serwisie Github jest na 3 pozycji, a na Stack Overflow zajmuje drugie miejsce pod względem popularności.

Dużym plusem Javy jest fakt, że cały czas się rozwija, mimo, że jest dostępna już ponad 25 lat. Jej najnowszą wersję, Java SE 14, wydano 17.03.2020 r. To bardzo ważne, aby dana technologia cały czas była udoskonala w celu utrzymania swojej silnej pozycji na rynku IT.

W Javie stworzona została legendarna gra Minecraft, ale także aplikacje Gmail i OpenOffice oraz strony WWW takich serwisów jak i

Uwaga: JavaScript to nie to samo, co Java. To dwa zupełnie niezależne od siebie języki programowania. JavaScript w połączeniu z takimi bibliotekami, jak jQuery, czy angularjs, odpowiada za front-end (to, co widzi użytkownik), a Java zarządza back-endem (silnikiem strony lub aplikacji).

Python – język programowania używany przez najlepszych

To nie przypadek, że z Pythona korzystają NASA, IBM, Google (Google App Engine), czy YouTube. Sztuczna inteligencja (SI), zarządzanie pojazdami kosmicznymi, Big Data, czy uczenie maszynowe to tylko wybrane z zastosowań tego języka.

Do tego dochodzi tworzenie bogatych w funkcjonalności stron WWW w Pythonie przy wsparciu takich frameworków jak Django, Flask, czy Zope / Plone / Pyramid. Duży zbiór modułów i bibliotek, czytelny kod oraz łatwe testy pozwalają “dowieźć” podobny projekt szybciej, niż na innych językach i platformach. Python pozwala do tego na integrację serwisów WWW z social mediami, np. Facebook, Twitter, czy Instagram oraz z aplikacjami Google (np. Maps, Forms, Docs).

Programowanie w Python pomaga także w tworzeniu gier. Elementy zakodowane w Pythonie znajdziemy w Sims 4 i World Of Tanks.

PHP – podstawa WordPressa

PHP odpowiada za to, czego nie widzimy na pierwszy rzut oka, czyli back-end stron internetowych i narzędzi takich brandów jak m.in. Wikipedia, WhatsApp, Facebook, Tesla, czy IBM. Oprócz stron WWW tworzone są tej technologii aplikacje pocztowe, bazy danych oraz systemy zarządzania treścią (np. na forach dyskusyjnych).

C++ – najtrudniejszy z całej piątki do gier i telekomunikacji

Bardzo złożony język programowania. Dlatego pracodawcy oczekują jego znajomości od full-stack developerów, posiadających informatyczne studia wyższe. Pojawia się często w firmach, tworzących hardware, np. Ericsson, IBM, Intel, Nokia, czy HP.

“Chcę zostać programistą”: wiesz już, od czego zacząć?

Podsumowując przede wszystkim trzeba w ogóle zacząć uczyć się podstaw programowania. To świat, w którym przede wszystkim liczy się praktyka, więc oglądanie wideo, słuchanie podcastów i czytanie książek nie wystarczy. Solidne fundamenty, ambicje oraz chęci do nauki i rozwoju mogą poprowadzić Cię do prawdziwej szkoły programowania, np. Software Development Academy. Trzymamy kciuki za Twoją nową drogę kariery!

P.S. Na koniec prezentujemy Wam genialną infografikę autorstwa Carla Cheo. W zabawny sposób pomoże Wam wybrać właściwy język programowania dla siebie.

Jak używać komórki z Androidem, gdy nie możemy dotykać ekranu

Niniejszy poradnik jest przeznaczony dla osób z tetraplegią, zanikiem mięśni lub innymi niepełnosprawnościami, które utrudniają lub uniemożliwiają korzystanie ze smartfona. Pokażę, w jaki sposób przesłać zawartość ekranu komórki z Androidem do systemu Windows oraz jak kursorem w Windows symulować dotknięcia ekranu.

Pomysł na artykuł zawdzięczam Wojtkowi Sawickiemu, dziennikarzowi muzycznemu zmagającemu się z chorobą Duchenne’a. W jego social mediach przeczytałem o problemie z dostępem do SMS-ów z banku – proponowane rozwiązanie znajdziecie poniżej.

Proces konfiguracji telefonu wymaga wykonania serii operacji na ekranie dotykowym, lecz jest jednorazowy. Potem smartfon podłączamy kablem do komputera i odkładamy gdziekolwiek, od tej chwili będzie kontrolowany z peceta. W dalszej części tekstu zakładam, że docelowy użytkownik jest w stanie swobodnie kontrolować kursor systemu Windows – to da się robić między innymi wzrokiem lub językiem. Pożądana będzie możliwość przesuwania kursora z wciśniętym lewym klawiszem myszki.

Napisz mi, czego brakuje w tekście! Artykuł będzie uzupełniany i poprawiany tak, aby był jak najbardziej użyteczny. Jeśli natrafisz na jakiś problem, daj znać e-mailem spróbuję znaleźć rozwiązanie. Może się okazać, że napotkana przez ciebie trudność da się obejść w bardzo prosty sposób, więc nie wahaj się do mnie napisać.

Z jakich mechanizmów skorzystamy?

W każdym telefonie z Androidem można aktywować tzw. „opcje programistyczne” czyli zestaw ustawień przydatnych dla programistów i testerów oprogramowania. Przygotowują oni tzw. testy automatyczne, w których wszystkie funkcje apki mobilnej są kolejno testowane przez zestaw skryptów zastępujących użytkownika. Takie skrypty symulują uruchamianie aplikacji, dotykanie ekranu palcem, pykanie przycisków itd. – choć od strony technicznej jest to realizowane poprzez wysyłanie po kablu zestawu komend w rodzaju „kliknięcie ekranu, współrzędne X/Y” albo „przesunięcie palca z pozycji A do B w ciągu 1.5 sekundy”.

W testach automatycznych często wykonywane są też zrzuty zawartości ekranu. Pozwala to na sprawdzenie, czy wygląd i sposób działania aplikacji nie uległy zmianie. Testy są uruchamiane po każdej modyfikacji kodu źródłowego, możliwe jest więc automatyczne wykrycie usterki i wstrzymanie wydania nowej wersji aplikacji do czasu poprawienia błędu.

Opisane funkcje przydadzą nam się do zdalnego sterowania telefonem. Specjalną aplikacją podłączymy się z peceta do ekranu komórki i wyświetlimy jego zawartość w osobnym oknie. Kliknięcia w obrębie tego okna będą przesyłane do telefonu i interpretowane jak dotknięcia palcem ekranu.

Czego potrzebujemy

telefonu z Androidem w wersji 5 lub nowszej

komputera z systemem Windows

kabla USB do połączenia komputera z telefonem

Uwaga dotycząca wersji Androida: nowszy będzie lepszy, wersja 5 pochodzi z roku 2014 i jest już naprawdę prehistoryczna. Najlepiej celować w urządzenia z wersją co najmniej 7, mające nie więcej niż trzy lata – choć jak zwykle lepszy jest starszy telefon niż żaden.

Aktywujemy opcje programistyczne

Aby aktywować panel opcji programistycznych, należy włączyć aplikację Ustawienia, wybrać opcję „Informacje o telefonie”, na tym ekranie odnaleźć pozycję „Numer kompilacji” i pyknąć ją palcem siedem razy. Udana operacja zostanie potwierdzona tekstem „jesteś teraz programistą”.

Niektórzy producenci telefonów przebudowują strukturę aplikacji Ustawienia według własnych pomysłów, więc ścieżka do pola „Numer kompilacji” może być inna. Jeśli nie możesz jej odnaleźć, przyślij e-mailem markę, model i (jeśli znasz) wersję oprogramowania, postaram się dodać informację o problematycznych przypadkach.

Pozycja menu „Opcje programistyczne” pojawi się albo w menu głównym, albo pod pozycją „System”, niekiedy trzeba tam na końcu listy kliknąć pozycję „więcej” lub „zaawansowane”. Po wejściu do opcji programistycznych:

upewniamy się, że główny wyłącznik (w belce górnej) jest aktywny

aktywujemy opcję „Debugowanie USB”

jeśli gdzieś poniżej masz opcję „Debugowanie USB (ustawienia bezpieczeństwa)” lub podobną, ją również aktywuj

Gdy teraz podłączysz telefon do komputera przez kabel USB, w górnym pasku pokaże się powiadomienie „Podłączono moduł debugowania USB”. Będzie ono stale przypominać, że komputer ma rozszerzony dostęp do tego urządzenia.

Pobieramy program scrcpy

Na stronie znajdziemy darmowe narzędzie o nazwie scrcpy (skrót od: screen copy czyli kopia ekranu). Gdy piszę niniejszy tekst, najnowsza wersja to 1.16, dostępna do pobrania w paczce scrcpy-win64-v1.16.zip

Pobieramy plik ZIP, rozpakowujemy do wybranego katalogu. Oto lista plików, które się tam znajdują, wraz z objaśnieniem:

AdbWinApi.dll, AdbWinUsbApi.dll – biblioteki programistyczne zarządzające komunikacją z telefonem

avcodec-58.dll, avformat-58.dll, avutil-56.dll, SDL2.dll, swresample-3.dll, swscale-5.dll – biblioteki do obsługi grafiki i streamingu obrazu

scrcpy-server – program instalowany automatycznie na telefonie, wysyłający obraz do komputera

– główny program wyświetlający obraz z telefonu, wersja z konsolą tekstową (gdy coś nie działa, ta wersja wyświetli dodatkowe informacje)

– główny program wyświetlający obraz z telefonu, wersja bez konsoli tekstowej (używaj go zamiast gdy wszystko działa jak należy)

Upewnijmy się, że telefon jest podłączony do komputera. Gdy po raz pierwszy uruchomimy na ekranie telefonu powinniśmy zobaczyć następujące okno dialogowe z pytaniem, czy traktować komputer jako zaufany – zaznaczamy „zawsze” i potwierdzamy wybór.

Jeśli pytanie się nie pojawi, odłączamy i podłączamy kabel, po czym ponownie uruchamiamy Gdy wszystko pójdzie dobrze, powinniśmy zobaczyć na komputerze okno z zawartością ekranu telefonu. Jeśli coś nie działa, przeskocz na koniec tekstu.

Jakie opcje mogą nam się przydać?

Program może być uruchamiany z linii komend z parametrami, których pełną listę zobaczymy po użyciu opcji --help (czyli wydaniu komendy --help ). Większość jest też opisana na stronie

Lista przydatnych parametrów:

-b (bitrate) określa jakość przekazywanego obrazu – wartość domyślna to 8M , zwiększ liczbę aby podnieść jakość animacji, obniż jeśli telefon nie nadąża i animacja się rwie

--lock-video-orientation – zablokowanie orientacji ekranu w jednej z czterech pozycji, wartości od 0 do 3, gdzie zero to domyślna orientacja portretowa. Dzięki temu telefon może leżeć w jakiejkolwiek pozycji, zaś zawartość ekranu nie będzie się obracać.

--window-borderless – otwierane okienko będzie pozbawione belki tytułowej

--stay-awake – zapobieganie przejściu urządzenia w tryb uśpienia; skoro jest podłączone kablem to nie zależy nam na oszczędzaniu baterii

--turn-screen-off – wygaszenie ekranu telefonu, gdy obraz jest przesyłany do komputera; przydatne gdyby przeszkadzała nam jego poświata

Przydatne klawisze skrótu:

ctrl + kliknięcie + przesuwanie = symulacja zoomu dwoma palcami

lewy-alt + h = przycisk HOME (także: środkowy klawisz myszy)

lewy-alt + b = przycisk BACK (także: prawy klawisz myszy)

lewy-alt + s = przycisk przełączania programów

lewy-alt + strzałki góra/dół = regulacja głośności

lewy-alt + strzałki lewo/prawo = obrót ekranu

lewy-alt + p = przycisk POWER

lewy-alt + n = rozwinięcie/zwinięcie rolety systemowej

Klawisz lewy-alt można zmienić na inny opcją --shortcut-mod

Co zrobić, gdy coś nie działa?

Wskazówki po angielsku można znaleźć na stronie

Gdy trafisz na problem którego nie uda Ci się rozwiązać, daj znać e-mailem – będziemy walczyć.

Samodzielna diagnostyka

Najpierw zaglądamy do menedżera urządzeń w Windows – telefon z aktywnym trybem programisty powinien być widoczny jako urządzenie „Android” w gałęzi „Urządzenia uniwersalnej magistrali szeregowej”

Brak takiej pozycji może oznaczać, że potrzebujesz dodatkowych sterowników od producenta telefonu – wskazówki, skąd je wziąć, będą tutaj

Kolejnym krokiem jest sprawdzenie, co wypisze komenda devices

Ignorujemy informację o startowaniu usługi zapewniającej komunikację z telefonem:

daemon not running; starting now at tcp:5037 daemon started successfully

Patrzymy na listę urządzeń:

List of devices attached

9b1ce05a unauthorized

Status „unauthorized” oznacza, że na komórce nie kliknięto jeszcze zgody na zarządzanie nią z komputera. Kabel należy wypiąć, wpiąć, spróbować ponownie, klepnąć zgodę.

List of devices attached

9b1ce05a device

Taki napis oznacza, że z połączeniem w trybie programisty wszystko jest w porządku (oczywiście symbol 9b1ce05a to mój telefon, u ciebie będzie inny).

Jeśli widzisz więcej niż jedną pozycję na liście, to znaczy, że masz do komputera podłączone więcej niż jedno urządzenie z Androidem. Trzeba wówczas przy wywołaniu użyć opcji -s symbol aby wskazać, ekran którego telefonu ma trafić do okienka pod Windows.

Jeśli zamiast tego zobaczysz komunikat

adb: error: failed to get feature set: no devices/emulators found

to może to oznaczać brak niezbędnych sterowników – zerknij na tę listę

Zakończenie

To już wszystko. Raz skonfigurowany telefon powinien działać z scrcpy za każdym razem. Czasem zdarza się, że aktualizacja oprogramowania systemowego wyłącza opcje programistyczne albo wyczyści listę zaufanych komputerów, wówczas konieczne będzie powtórzenie kroków opisanych na początku tekstu.

Napisz do mnie, jeśli trafisz na jakiś problem z jakimś programem albo użyciem konkretnej funkcji telefonu – spróbujemy znaleźć rozwiązanie. Daj też proszę znać, gdy dzięki niniejszemu poradnikowi zaczniesz korzystać ze smartfona, który wcześniej pozostawał dla ciebie niedostępny.

Prawne aspekty tworzenia aplikacji mobilnych

W chwili wprowadzenia do sprzedaży tabletów i smartfonów pojawił się nowy rynek oprogramowania komputerowego – aplikacje mobilne. Praktycznie każdy smartfon i tablet fabrycznie wyposażony jest w zestaw podstawowych aplikacji. Jednakże wielu użytkowników urządzeń mobilnych poszukuje zaawansowanych aplikacji zarówno niezbędnych do pracy, jak i do rozrywki. Producenci aplikacji tworząc nowe rozwiązania samodzielnie kreują popyt na swoje oprogramowanie. Aplikacje mobilne są również ciekawe z punktu widzenia prawnego.

Prawne aspekty tworzenia aplikacji mobilnych. O czym warto pamiętać?

Aplikacja mobilna to nie tylko interfejs widziany przez użytkownika. Każda aplikacja mobilna to zespół elementów, z których każdy podlega oddzielnej regulacji prawnej. Inaczej z prawnego punktu widzenia traktowany jest kod źródłowy aplikacji, a inaczej dane osobowe użytkownika końcowego. Jeszcze inną kwestią jest umieszczanie aplikacji na platformach sprzedażowych i czerpanie profitów ze sprzedaży usług w ramach aplikacji. O wszystkich tych kwestiach tworzący aplikacje musi pamiętać.

Aplikacja mobilna z prawnego punktu widzenia jest przede wszystkim programem komputerowym, do którego znajdują zastosowanie przepisy prawa autorskiego. Co ciekawe, stosownie do art. 74 ust. 1 prawa autorskiego, programy komputerowe podlegają ochronie jak utwory literackie. Jednocześnie prawo autorskie przewiduje, że idee i zasady będące podstawą jakiegokolwiek elementu programu komputerowego, w tym podstawą łączy, nie podlegają ochronie (art. 74 ust. 2 prawa autorskiego).

Należ podkreślić, że w rozumieniu prawa autorskiego aplikacją mobilną podlegającą ochronie prawnoautorskiej nie jest jedynie interfejs widziany przez użytkownika, ale w istocie jest nią kod źródłowy składający się na całość funkcjonalności aplikacji.

Innymi słowy, aplikacja mobilna to zestaw instrukcji używanych w komputerze lub innym podobnym urządzeniu, dzięki którym osiąga się zamierzony rezultat. Interfejs natomiast jest formą wyrażania programu komputerowego widoczna i zrozumiałą dla użytkowników. Dla ochrony prawnoautorskiej kodu źródłowego nie ma znaczenia w jakim języku oprogramowania aplikacja mobilna została wykonana ani na jakiej platformie ma operować (Android czy iOS). Zasadą prawa autorskiego jest bowiem ochrona programów komputerowych bez względu na sposób ich wyrażenia.

Jednocześnie, rozwiązania funkcjonalne i grafika interfejsu mogą podlegać ochronie prawnoautorskiej niezależnie od ochrony przyznanej aplikacji mobilnej. Prawo autorskie przewiduje bowiem również ochronę utworów graficznych, bez względu na fakt czy zostały one wykonane techniką tradycyjną czy za pomocą programu graficznego.

Umowy na wykonanie aplikacji mobilnej

Zawierając umowę na wykonanie aplikacji mobilnej pamiętać należy, że umowa o wykonanie aplikacji mobilnej nie zagwarantuje zamawiającemu pełni praw do aplikacji, jeżeli nie będzie zawierała odpowiednich postanowień w zakresie przeniesienia praw autorskich.

Umowa na wykonanie aplikacji mobilnej musi zawierać wyraźne i precyzyjne postanowienia odnoszące się do praw autorskich do kodu źródłowego oraz do grafiki wykorzystanej w interfejsie aplikacji.

Zamawiającego wykonanie aplikacji mobilnej z pewnością interesuje nabycie pełnych praw do aplikacji – w takim przypadku niezbędne będzie zawarcie w umowie postanowień dotyczących nabycia autorskich praw majątkowych do aplikacji. Jeżeli umowa o wykonanie aplikacji mobilnej jest zawierana bezpośrednio z programistą który ją wykonał, to dla bezpieczeństwa zamawiającego powinno zawrzeć się w umowie oświadczenie, że aplikacja została wykonana w całości samodzielnie przez programistę. W przypadku zaś zawierania umowy z firmą (spółką), niezbędne z punktu widzenia zamawiającego są oświadczenia o dysponowaniu przez firmę (spółkę) pełnią autorskich praw majątkowych do stworzonego oprogramowania komputerowego.

Również software house tworzący aplikację mobilną na zlecenie klienta powinien zabezpieczyć kwestie przeniesienia praw autorskich, jak również zadbać o to żaby przeniesienie praw nie dotyczyło elementów aplikacji stworzonych na licencjach typu open. W interesie software house jest również to, żeby klient zamawiający aplikacje na etapie jej tworzenia dokonywał testów i odbiorów. Inaczej, na etapie przekazywania aplikacji mogą wyniknąć problemy, których rozwiązanie może okazać się kosztowne dla obu stron.

Prawne aspekty tworzenia aplikacji mobilnych w praktyce

Aplikacje mobilne to nie tylko ciekawy temat technologiczny, ale również prawniczy. Wiele prawnych aspektów budowanie aplikacji mobilnych nie zostało jeszcze dobrze opisanych w literaturze przedmiotu, a nowe już pojawiają się nowe wyzwania. Wiemy, że wątpliwości jest wiele dlatego regularnie odpowiadamy na pytania naszych czytelników o aspekty prawne i biznesowe dotyczące aplikacji mobilnych oraz organizujemy szkolenia dot. prawnych aspektów budowania aplikacji mobilnych, na które zapraszamy specjalistów z branży IT, właścicieli software house’ów oraz wszystkich twórców aplikacji mobilnych. Macie pytania lub wątpliwości związane z budową i wprowadzaniem na rynek aplikacji mobilnych? Jesteśmy do Waszej dyspozycji.

***

grafika: Jaelynn Castillo

Jarosław Kułak
Jarosław Kułak

Leave a Comment