Our team at AZinec started working on a new in-house project in 2015. We wanted to build a reliable, user-friendly RSS reader for the web and mobile platforms with a few unique features.
Our first priority was to build the single page application (SPA) on the web. We decided to use the Laravel PHP framework for server-side code. Our team was very successful at a timely implementation of the basic features we envisioned for the final product.
However, the front-end solution turned out to be a little more complicated. We wanted to have great performance, easy scalability and top-tier user experience. At the time, our team worked mainly with Angular and we had very little experience with a promising front-end framework: React. We decided to use this opportunity to battle-test React and have some fun with it. In the end, React turned out to be a solid choice for its fast development speed, satisfying performance and easy scalability.
In the planning stage, we outlined 3 main sections for the app:
- A curated source of the most important information, including financial, weather and global news.
- A collection of panels that the user can fill with any desired RSS feed or news source.
- A selection of news and posts pulled from groups and pages the user subscribed to.
The first two sections were fairly easy to implement, but the third feature depended on the Facebook API. Unfortunately, the Facebook API changes quite rapidly and it is impossible to anticipate what kind of new features will be implemented, and which current features will be dropped. In the end, due to the limitations of the Facebook API, we decided to postpone the implementation of related features.
After a 4 week development cycle, we had the web app fully working, and although it was usable on mobile devices as well, we wanted to go a little further. After a revision of the design, we decided to cross-compile our code base with Cordova, which allowed us to build a native iPhone app for our new service in no time. But, in order to fully comply with the Apple design guidelines, we had to make some changes on the front-end side. Thankfully, the React framework was very easy to work with in this scenario as well.
Finally, here’s what we learned from the project:
- Most applications can be developed into a Single Page Web Application and later compiled into multiple native mobile apps. This approach allows for low development costs and quick turnaround.
- PHP with the Laravel framework is still a decent choice for rapid back-end development.
- Choose your front-end framework carefully: You can save your team a lot of time and headache with a scalable, performant, well-documented framework like React.
- The Facebook API is helpful only if you implement boring, conventional features. If you want something extra, expect hiccups along the way.