рд╢реБрд░реБрдЖрддреА рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдиреЗрдЯрд┐рд╡ рдЧрд╛рдЗрдб (рдирдореВрдирд╛ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде)

рд╣рдо рдЖрдкрдХреЗ рд▓рд┐рдП hackernoon.com рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд┐рдЦрд┐рд▓ рд╕рдЪрджреЗрд╡рд╛ рд▓реЗрдЦ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдЦрдХ рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдиреЗрдЯрд┐рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд░реВрдкрд░реЗрдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИред

рдЫрд╡рд┐

рдореИрдВ рдПрдХ Android рдбреЗрд╡рд▓рдкрд░ рдерд╛ рдФрд░ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛ред рдХреЗрд╡рд▓ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВрдиреЗ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рд╣рд╛рде рдЖрдЬрдорд╛рдпрд╛ред рдЗрд╕рдиреЗ рдореБрдЭреЗ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдПрдХ рдирдпрд╛ рд░реВрдк рджрд┐рдпрд╛, рдХрдо рд╕реЗ рдХрдо рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдПред рдореЗрд░реЗ рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЖрд╡реЗрджрди рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЗрди рджреЛ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рди рдЕрдВрддрд░реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ред

рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдиреЗрдЯрд┐рд╡ рдХреНрдпрд╛ рд╣реИ?


рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА:
тАЬрдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореВрд▓ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдШреЛрд╖рдгрд╛рддреНрдордХ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рдореЛрдмрд╛рдЗрд▓ UI рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред "

рдпреЗ рджреЗрд╢реА рдЖрдИрдУрдПрд╕ рдпрд╛ рд╕реНрд╡рд┐рдлреНрдЯ рдпрд╛ рдЬрд╛рд╡рд╛ / рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдорд╛рди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВред
тАЬрд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЛрдмрд╛рдЗрд▓ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдирд┐рдпрдорд┐рдд рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рдорд╛рди рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕реНрд╡рд┐рдлреНрдЯ, рдХреЛрдЯрд▓рд┐рди рдпрд╛ рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЗрди рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд░рд┐рдПрдХреНрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред "

рддреЛ, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ React.js рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЖрдк рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдЪрд┐рдд рдЬрд╛рд╡рд╛ рд╕реЗ рджреВрд░ рдХреНрдпреЛрдВ рдЬрд╛рдПрдВ рдФрд░ JavaScript рдФрд░ React.js рд╕реАрдЦреЗрдВ? рдЗрди рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдлрд╛рдпрджреЗ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВред

рдкреЗрд╢реЗрд╡рд░реЛрдВ: рдЖрдк рдХреНрдпрд╛ рдЬреАрддреЗрдВрдЧреЗ


1. рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╛рд╕


рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред рдХреЛрдИ рднреА рдирд╣реАрдВ рдЪрд╛рд╣реЗрдЧрд╛ рдХрд┐ рдЙрд╕рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рддрдХ рд╣реА рд╕реАрдорд┐рдд рд░рд╣реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрд╡рд▓рдкрд░ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдХреЗрд╡рд▓ рдЕрдкрдиреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рд╣реИред

рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реИ, рдпрд╛рдиреА рдЗрд╕рдХрд╛ рдПрдХрд▓ рдХреЛрдб рдмреЗрд╕, рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ, рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рдПрдЧрд╛ред

2. рдорд╛рд╕реНрдЯрд░реАрдВрдЧ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛


рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдореВрд▓ рдирд┐рд╡рд╛рд╕реА рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреА рдПрдХ рдирдИ рджреБрдирд┐рдпрд╛ рдХреА рдЦреЛрдЬ рдХрд░реЗрдВрдЧреЗред рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдлреНрд░реЗрдорд╡рд░реНрдХ рд░рд┐рдПрдХреНрдЯ рдХреЗ рд╕рдорд╛рди рдШрдЯрдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХреМрд╢рд▓ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡рд┐рдХрд╛рд╕ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВред

3. рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬ рд╣реИ


рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдмреЗрд╕рд┐рдХ рдлрдВрдХреНрд╢рди рдХреЛ рдЯреЗрд╕реНрдЯ / рдлрд┐рдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2-3 рдорд┐рдирдЯ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХрд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА рдмрдЧрдлрд┐рдХреНрд╕ рдХреЛ рдХрдИ рдШрдВрдЯреЛрдВ рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛? рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд╕рд╛рде, рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдирд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЬреЗрдПрд╕ рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреБрдирд░рд╛рд░рдВрдн рд╣реЛрддрд╛ рд╣реИ!

4. рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред


рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдореЗрдВ, рдПрдкреАрдЖрдИ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛, рдпреВрдЖрд░рдПрд▓ рджреНрд╡рд╛рд░рд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛, рдФрд░ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВред рдЕрдм рдЖрдкрдХреЛ Retrofit, OkHttp, рдкрд┐рдХрд╛рд╕реЛ , рдЖрджрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рд╕рдордп рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдПрдкреАрдЖрдИ рд╕реЗ рдбреЗрдЯрд╛ рдЖрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдкреАрдУрдЬреЗрдУ рдореЙрдбрд▓ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдпреВрдЖрдИ рддрддреНрд╡реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд JSON рдбреЗрдЯрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдпреВрдЖрдИ рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ REST API рд╕реЗ GET рдпрд╛ POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

5. рдпреВрдЖрдИ рд╡рд┐рдХрд╛рд╕


рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдореЗрдВ, рдлреНрд▓реЗрдХреНрд╕рдмреЙрдХреНрд╕ рдореЙрдбреНрдпреВрд▓, рдПрдВрдбреНрд░реЙрдЗрдб рдПрдХреНрд╕рдПрдордПрд▓ рдорд╛рд░реНрдХрдЕрдк рдХрд╛ рдПрдХ рдЧрдВрднреАрд░ рдкреНрд░рддрд┐рдпреЛрдЧреА, рдпреВрдЖрдИ рдорд╛рд░реНрдХрдЕрдк рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдлреНрд▓реЗрдХреНрд╕рдмреЙрдХреНрд╕ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рдореБрджрд╛рдп рдореЗрдВ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдореЗрдВ, рдпреВрдЖрдИ рддрддреНрд╡реЛрдВ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рджреЗрд╢реА рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдореЗрдВ, Google рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рдкреЛрд░реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдФрд░ рдЙрддреНрддрд░рджрд╛рдпреА рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рджреЗрддрд╛ рд╣реИред

рд╡рд┐рдкрдХреНрд╖: рдЖрдк рдХреНрдпрд╛ рдЦреЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ


1. рд╢рд╛рдпрдж рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдирдлрд░рдд рдХрд░рддреЗ рд╣реИрдВ


рдХрдИ рд▓реЛрдЧ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рднрд╛рд╖рд╛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рднрд╛рд╖рд╛рдУрдВ рдЬреИрд╕реЗ рдЬрд╛рд╡рд╛, рд╕реА ++ рдФрд░ рдЕрдиреНрдп рдХреА рддрд░рд╣ рдирд╣реАрдВ рджрд┐рдЦрддреА рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдФрд░ рдпрд╣рд╛рдВ рд╡рд┐рд╕реНрддреГрдд рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдореАрдХреНрд╖рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

2. рдХрдИ рддреГрддреАрдп-рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ


рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рд╕рдореБрджрд╛рдп рдЕрднреА рднреА рдЕрдкрдиреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реИ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рджреЗрд╢реА рдПрдВрдбреНрд░реЙрдпрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рдирд╣реАрдВ рд╣реИ (рд╡реИрд╕реЗ, рдореЗрд░реЗ рдПрдВрдбреНрд░реЙрдЗрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕реНрд▓рд╛рдЗрдбрд╢реЛ рдХреЛ рд░реЗрдЯ рдХрд░реЗрдВ)ред

рдЖрд╡реЗрджрди рдЙрджрд╛рд╣рд░рдг


рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдХрд┐ рдХреИрд╕реЗ рд╕рд░рд▓ рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдореВрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдкрд╣рд▓рд╛ рдХрджрдо рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдПрдВ ред рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдорд╣рд╛рди рдирд┐рд░реНрджреЗрд╢ рдорд┐рд▓реЗрдВрдЧреЗ - рдЗрд╕реЗ рдкрдврд╝реЗрдВред рд╣рдо рдбрдореА рдПрдкреАрдЖрдИ https://jsonplaceholder.typicode.com/photos рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

рдЫрд╡рд┐

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП, рд░рд┐рдЯреНрд░реЛрдлрд┐рдЯ / рдУрдХреЗрд╣рдЯреНрдк рдЬреИрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЧрддрд┐рд╢реАрд▓ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рд╖рд╛ рдЗрд╕ рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИред

рдЪрд▓реЛ MockApp рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ:

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА init рдирдХрд▓реА
рд╕реАрдбреА mockapp

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ / рд╕реНрдерд╛рдиреАрдп рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рд╛рдПрдВ:

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-рджреЗрд╢реА рд░рди-рдПрдВрдбреНрд░реЙрдЗрдб

рдирд┐рдореНрди рдЫрд╡рд┐ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:

рдЫрд╡рд┐
рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рд╛рд░рдВрдн рд╕реНрдХреНрд░реАрди

рд╣рдо рдЬреЛ API рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВрдЧреЗ, рд╡рд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:

рдЫрд╡рд┐
рддреЛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдЖрд╡реЗрджрди рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ

рдЕрдм рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВ рдФрд░ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЕрдиреБрд╕рд╛рд░ App.js рдХреЛ рдПрдбрдЬрд╕реНрдЯ рдХрд░реЗрдВ:

export default class App extends Component<Props> { constructor(props){ super(props); this.state ={ isLoading: true} } componentDidMount(){ return fetch('https://jsonplaceholder.typicode.com/photos') .then((response) => response.json()) .then((responseJson) => { this.setState({ isLoading: false, dataSource: responseJson, }, function(){ }); }) .catch((error) =>{ console.error(error); }); } render() { if(this.state.isLoading){ return( <View style={{flex: 1, padding: 20}}> <ActivityIndicator/> </View> )} return( <View style={{flex: 1, paddingTop:20}}> <Text style={styles.header}>Mock App</Text> <FlatList data={this.state.dataSource} renderItem={({item}) => <View style={styles.card}><Text style={styles.id}> {item.id}</Text><Text style={styles.title}>{item.title}</Text><Image source ={{uri : item.url }} style={styles.image}/></View>} keyExtractor={({id}, index) => id} /> </View> ); } 

рдЗрд╕ рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдореИрдВ рдХреЛрдб рдХреЗ рд╕рднреА рдореБрдЦреНрдп рдХреАрд╡рд░реНрдб рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдХреАрд╡рд░реНрдб рдХреА рдЦреЛрдЬ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдЬрд┐рд╕реЗ рдЖрдк рдирд╣реАрдВ рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред

1. рдШрдЯрдХрдбрд┐рдорд╛рдЙрдВрдЯред рдпрд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреАрд╡рди рдЪрдХреНрд░ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореВрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдХрдВрдкреЛрдиреЗрдВрдЯрдбрд┐рдорд╛рдЙрдВрдЯ () рдХрдВрдкреЛрдиреЗрдВрдЯ рдЯреНрд░реА рдореЗрдВ рдХрдВрдкреЛрдиреЗрдВрдЯ рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

2. рд▓рд╛рдирд╛ред рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, React Native рдореЗрдВ рдПрдХ Fetch API рд╣реИ ред

3. рд░рд╛рдЬреНрдп рдЪрд░ (isLading, dataSource)ред isLading рдПрдХ рдмреВрд▓ рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ API рдбреЗрдЯрд╛ рд▓реЛрдб рд╣реИ рдпрд╛ рдирд╣реАрдВред dataSource рдПрдХ рд╡реИрд░рд┐рдПрдмрд▓ рд╣реИ рдЬреЛ JSON рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдХреЛ рдлрд╝реНрд▓реЛ рдХрдорд╛рдВрдб рд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред

4. рд╕рдкрд╛рдЯред рдпрд╣ рд░реАрдПрдХреНрдЯрд┐рд╡ рдиреЗрдЯрд┐рд╡ рдореЗрдВ RecyclerView рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рдХреЗрд╡рд▓ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред FlatList рдШрдЯрдХ рдбреЗрдЯрд╛ рдХреА рдПрдХ рд╕реНрдХреНрд░реЙрд▓ рд╢реАрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрд░рдЪрдирд╛ рд╣реИред рдлреНрд▓реИрдЯрд▓рд┐рд╕реНрдЯ рд▓рдВрдмреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рд╛рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓ рд╕рдХрддреА рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рд╕реВрдЪреА рдореЗрдВ рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдЪрд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рднрд╛рд╖рд╛ рдХреА рд╕реБрдВрджрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рд╖рд╛ред рдПрдХ рдЪрд░ рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рд░рд╣рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреА рд╢реИрд▓рд┐рдпреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдореЗрдВ рдЪрд░реЛрдВ рдХрд╛ рдорд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 const styles = StyleSheet.create({ card: { padding: 20, margin: 10, borderColor: '#ff7a00', borderWidth: 2, borderRadius: 10, backgroundColor: '#f3ea68', flex: 1, }, header: { fontSize: 40, padding: 10, }, image: { height: 60, width: 60, }, title: { fontSize: 20, color: '#000', }, id: { fontSize: 30, } }); 

рдпрд╣реАрдВ рдкрд░ рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдЦрддреНрдо рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ, рдЬрд┐рд╕рдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ рдПрдкреАрдЖрдИ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:


рдЫрд╡рд┐

Source: https://habr.com/ru/post/hi458118/


All Articles