Jak naprogramovat aplikaci, 2. díl
Chceš se pustit do prvního projektu a přemýšlíš, kde začít? Máme pro tebe checklist těch nejdůležitějších kroků, bez kterých se vývoj žádné aplikace neobejde.
Průzkum trhu a cílovku mám, návrh aplikace taky a jak ji naprogramuju? Jestli na tuto otázku hledáš odpověď, jsi tady správně.
Ve článku Jak naprogramovat aplikaci, 1. díl jsme ti poradili, jak začít s vlastním projektem. Teď se zaměříme na hlavní kroky spojené přímo s programováním. Dozvíš se, jak vybrat ten správný programovací jazyk pro svou aplikaci, jaké IDE zvolit, nebo co použít pro testování.
Vybíráme jazyk
Neexistuje univerzální jazyk pro všechny druhy aplikací. Některé jazyky se víc hodí pro jeden typ projektu, jiné zase pro ten druhý. V jazyce C se můžeš snažit jak chceš, ale okouzlující GUI snadno nevytvoříš. Stejně tak se jako začátečník budeš zbytečně trápit s paralelním programováním v Pythonu.
Jaké jazyky jsou tedy vhodné pro jednotlivé typy aplikací?
- Databázové aplikace: C++, C#, SQL, Java, JavaScript, PHP, Python
- Desktopové aplikace: C++, C#, HTML5, Java, Objective C, Python, Swift
- Hacking: C, C++, Java, JavaScript, PHP, Python, SQL
- Hry: C++, C#, HTML5, Java, JavaScript, Lua, Papyrus
- Mobilní aplikace: C++, C#, Java, JavaScript, Kotlin, Python, Swift
- Počítačové sítě: Bash, C, Go, Perl, Python, Ruby, Tcl
- Umělá inteligence: C/C++, Haskell, Java, Julia, Lisp, Python, R
- Webové aplikace: Go, HTML&CSS, Java, JavaScript, PHP, Python, Ruby
Jakmile si specifikuješ svůj projekt, vyber si takový jazyk, který ti nejvíc pomůže. Někdy se taky hodí použít víc než jeden. Projdi si dokumentaci jednotlivých jazyků, podívej se na dostupné knihovny a frameworky a zvol si tu technologii, která ti práci co nejvíc zjednoduší a zefektivní.
Volíme vývojové prostředí (IDE)
Svoji aplikaci můžeš programovat v jakémkoliv textovém editoru. Ale to určitě není moc jednoduchý a efektivní způsob. Výběr správného vývojového prostředí je téměř tak důležitý jako výběr jazyka. Každé z nich se totiž zaměřuje na konkrétní programovací jazyk nebo dokonce skupinu jazyků.
Většina taky obsahuje editor zdrojového kódu, kompilátor, interpret, debugger a případně i vizuální návrh GUI. Přece se nebudeš snažit nakreslit mistrovské dílo v Malování, když můžeš použít Photoshop.
Příklady vývojových prostředí pro nejčastěji používané jazyky:
- C/C++: Atom, CLion, Code::Blocks, NetBeans, Vim, Visual Studio
- C#: C#Pad, MonoDevelop, Rider, Visual Studio Code
- HTML: Atom, Notepad++, Sublime text, Visual Studio Code
- Java: Eclipse, IntelliJ IDEA, NetBeans
- JavaScript: Atom, Sublime text, Visual Studio Code, WebStorm
- Objective C: Atom, Eclipse, NetBeans, Sublime text, Visual Studio Code
- PHP: Eclipse, NetBeans, Nodepad++, PHPStorm, ZendStudio
- Python: PyCharm, PyDev, Sublime text, Visual Studio Code, Vim
- SQL: DataGrip, MySQL Workbench, Oracle SQL Developer, SQLite Studio
Prostředí vyber hlavně podle svých potřeb, rychlosti, možnosti debuggování a jednoduchosti použití knihoven a různých balíčků. Taky si v něm napiš nějaký kód, ať zjistíš, jestli ti vyhovuje. Některé IDE jsou volně dostupné, za jiné musíš zaplatit.
Programování aplikace
Obecné rady o samotném programování se rozdávají těžko. Každý jazyk, prostředí i projekt jsou prostě jiné. Máme pro tebe však dvě důležitá doporučení, která platí pro jakýkoliv případ: ZÁLOHUJ a KOMENTUJ.
Když se ti něco najednou pokazí, tak je záloha jednoduše k nezaplacení. A nekomentovaný kód se stane takovým osobním peklem jak pro tebe, když se k němu vrátíš po delší době, tak i pro někoho cizího, kdo má s tvým kódem pracovat nebo na něj třeba navázat.
Testování aplikace
Důležitou součástí programování je testování, které se liší podle typu aplikace (webová, desktopová, mobilní) a metod testování (black box, white box, grey box).
Pro automatizované testování jsou nejvhodnější tyto jazyky:
- Python: knihovny Selenium a Appium, frameworky PyUnit a Pytest, vhodný pro začátečníky
- Java: framework JUnit a Selenium WebDriver, vhodný pro webové produkty
- JavaScript: frameworky Jest, Mocha, Jasmine, Nightwatch JS, vhodný pro testování prohlížeče
- C#: frameworky NUnit, MSTest, xUnit.Net, .NET, vhodný pro aplikace založené na platformách Android, Windows aj iOS
- Ruby: frameworky Capybara, RSpec, Test::Unit, zaměřený na jednoduchost a produktivitu
- PHP: frameworky Laravel Dusk, Codeception, PHPUnit, BeHat, vhodný pro začátečníky
- Smash Test: využívá NodeJS, cca 10-krát rychlejší jako jiné, čitelný pro člověka, vhodný pro začátečníky
A teď do práce
Už máš představu, jak naprogramovat aplikaci a co obnáší vedení takového projektu. Máme pro tebe ještě poslední obecnou radu – nehledej jednorožce.
Namísto vymýšlení a zahazování nápadů se pusť raději do práce. Díky tomu si vyzkoušíš, co to obnáší – a hlavně něco doopravdy vytvoříš. Vývoj jednoduché aplikace zabere třeba jen pár dní a ty si z toho odneseš ohromné množství zkušeností.
Potřebuješ se naučit zrovna ten ideální jazyk pro svůj nápad? Přihlas se na jednu z Akademií.