<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Felipe Zuluaga</title>
    <description>The latest articles on DEV Community by Felipe Zuluaga (@zuludev).</description>
    <link>https://dev.to/zuludev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2820616%2F86f764d4-c446-4148-b87b-bd1759e436a8.jpg</url>
      <title>DEV Community: Felipe Zuluaga</title>
      <link>https://dev.to/zuludev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zuludev"/>
    <language>en</language>
    <item>
      <title>App Video: react-native-video VS expo-video</title>
      <dc:creator>Felipe Zuluaga</dc:creator>
      <pubDate>Tue, 11 Mar 2025 14:49:01 +0000</pubDate>
      <link>https://dev.to/zuludev/app-video-react-native-video-vs-expo-video-2jo</link>
      <guid>https://dev.to/zuludev/app-video-react-native-video-vs-expo-video-2jo</guid>
      <description>&lt;p&gt;Are you building an app with React Native and wondering which library to use for video integration?&lt;/p&gt;

&lt;p&gt;As of today, you'll find several libraries or dependencies to handle videos in React Native. In this case, I bring you two of the most used and arguably the best options available.&lt;/p&gt;

&lt;p&gt;Why do I say they are among the best? Besides their functionality, they have active maintenance and well-documented guides that make integration smoother. But which one should you choose? Here are some pros and cons of each, along with some conclusions.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔹 react-native-video
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.thewidlarzgroup.com/react-native-video/" rel="noopener noreferrer"&gt;https://docs.thewidlarzgroup.com/react-native-video/&lt;/a&gt;&lt;br&gt;
This is a widely used external library for playing videos in native React Native apps.&lt;/p&gt;

&lt;p&gt;✅ Pros:&lt;/p&gt;

&lt;p&gt;Supports multiple video formats (MP4, MOV, etc.).&lt;br&gt;
Provides advanced video control (playback, buffering, speed, subtitles, etc.).&lt;br&gt;
Integrates well with react-native-video-controls for custom playback buttons.&lt;br&gt;
Supports HLS and DASH streaming.&lt;br&gt;
Better performance on native devices since it uses Android’s ExoPlayer and iOS’s AVPlayer.&lt;/p&gt;

&lt;p&gt;❌ Cons:&lt;/p&gt;

&lt;p&gt;Requires manual installation and linking in non-autolinked projects (if using react-native-cli).&lt;br&gt;
Needs additional configuration for fullscreen on iOS.&lt;br&gt;
Not compatible with Expo Go unless you use expo-dev-client or eject to a bare workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔹 expo-video
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://docs.expo.dev/versions/latest/sdk/video/" rel="noopener noreferrer"&gt;https://docs.expo.dev/versions/latest/sdk/video/&lt;/a&gt;&lt;br&gt;
This is an Expo component based on expo-av that simplifies video playback in Expo Managed projects.&lt;/p&gt;

&lt;p&gt;✅ Pros:&lt;/p&gt;

&lt;p&gt;Easy to use in Expo, with no additional installation required.&lt;br&gt;
Simple handling of playback, controls, and video state.&lt;br&gt;
Natively integrated with Expo, requiring no extra configuration for iOS or Android.&lt;/p&gt;

&lt;p&gt;❌ Cons:&lt;/p&gt;

&lt;p&gt;Less customizable than react-native-video.&lt;br&gt;
Limited format support compared to react-native-video.&lt;br&gt;
Does not support subtitles natively.&lt;br&gt;
May have performance issues with long videos or streaming.&lt;br&gt;
The reason for researching which of these two libraries to use was to determine which one performs better in fullscreen mode and autoplay. So, based on that, here’s my conclusion:&lt;/p&gt;

&lt;p&gt;🎥 Which works better for fullscreen and autoplay?&lt;/p&gt;

&lt;h2&gt;
  
  
  🔹 For fullscreen:
&lt;/h2&gt;

&lt;p&gt;react-native-video is more powerful and customizable but requires extra setup on iOS.&lt;br&gt;
expo-video works well in fullscreen but is less flexible.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔹 For autoplay:
&lt;/h2&gt;

&lt;p&gt;Both support autoplay, but react-native-video offers better control over buffering and video loading.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Conclusion:
&lt;/h2&gt;

&lt;p&gt;If you're using Expo Managed, expo-video is the easiest and fastest to set up.&lt;br&gt;
If you need more control, better performance, and fullscreen compatibility, react-native-video is the best option. 🚀&lt;/p&gt;

</description>
      <category>reactnative</category>
      <category>mobile</category>
      <category>development</category>
    </item>
    <item>
      <title>8 tips that will help you stop being a junior programmer.</title>
      <dc:creator>Felipe Zuluaga</dc:creator>
      <pubDate>Tue, 04 Mar 2025 21:12:29 +0000</pubDate>
      <link>https://dev.to/zuludev/8-tips-that-will-help-you-stop-being-a-junior-programmer-454f</link>
      <guid>https://dev.to/zuludev/8-tips-that-will-help-you-stop-being-a-junior-programmer-454f</guid>
      <description>&lt;p&gt;Do you want to stop being a junior, I leave you these 8 tips to start improving your seniority level.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Use extensions in the editor:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy5lz4kxt0cxxfkunld8v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy5lz4kxt0cxxfkunld8v.png" alt="Use extensions in the editor" width="700" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Modern text editors or development environments (IDEs) allow the installation and configuration of multiple extensions that can help you improve your development time and help you have cleaner code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Look in the right places:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qnux3zdkdsd71lydv90.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qnux3zdkdsd71lydv90.png" alt="Look in the right places" width="700" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are forum platforms or blogs focused on development issues where doubts, errors or solutions are published, some of these are Stack Overflow and Medium.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Develop in English:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdmzav3gtyoy5ovy6b14c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdmzav3gtyoy5ovy6b14c.png" alt="Develop in English" width="700" height="540"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Currently, most companies dedicated to software development manage all their projects in English, so it is ideal that you get used to doing your personal projects in this language, so you could also share your project with other people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. A good statement says more than a thousand comments:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspdoutf09pemtjm66lqw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspdoutf09pemtjm66lqw.png" alt="A good statement says more than a thousand comments" width="571" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Use clear and specific names in your variables and functions so you don’t have to use comments explaining what the function does or what the variable stores example, userName, getUserData among others.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Join communities and participate:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ycl7fmwoxibxr5q6l6s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ycl7fmwoxibxr5q6l6s.png" alt="Join communities and participate" width="309" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On Facebook there are groups focused on programming in general or on specific languages, joining them will help you learn more, answer questions and make yourself known. Giving you the possibility of finding job offers focused on your knowledge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. If you have problems with a library, look for the answer directly in the documentation:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvr5ucx8ysmj9qbhlqgy9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvr5ucx8ysmj9qbhlqgy9.png" alt="If you have problems with a library, look for the answer directly in the documentation" width="700" height="350"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have an error in an installed library, go directly to its documentation and make sure you have followed the installation steps correctly, or in some cases the documentation itself indicates possible errors and how to fix them. In addition, in some cases the library has a public repository on Github and here the users of this library share the errors they have found and in some cases answer how to fix it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Practice:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fermea37khsis3eaqqkrh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fermea37khsis3eaqqkrh.png" alt="Practice" width="700" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Start your own projects, they don’t have to be complex applications, the ideal is that you program and start implementing good practices.&lt;br&gt;
It is also ideal that you publish your projects on GitHub, so you can start showing your knowledge to other people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Avoid repeating code:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyho7snz23sli544gwjax.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyho7snz23sli544gwjax.png" alt="Avoid repeating code" width="700" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Subscribe to my networks.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Do not forget to subscribe and follow me on my social networks where I share content of interest to developers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=KnAx0Qeykyw" rel="noopener noreferrer"&gt;Youtube&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.instagram.com/zuludev" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
