Question: Why we will choose Native and MEAN stack technology for zappl project ?
Answer:
Being a long time native developer, I found React-Native very limited and hard to work with for following reasons:
To provide similar abstractions everywhere, React-Native UI framework is a custom rewrite of iOS native library. It is no where near the polish of UIKit. You end up with very poorly quality app unless you write a lot of native code.
Development velocity is extremely slow because you need to adapt React-Native model to native model. You want to design your app to behave natively and Apple has made it simple with rich set of API. To keep up with the same interaction, the Javascript model become very large.
Performance can be poor because the code run interpretably in a javascript engine (JavaScriptCore).
The framework is changing very rapidly and sometime not backward compatible. Having to update native codes often to get the latest features can defeat the main purpose.
We still think it is a great idea and can be good to build apps where UI is less critical than business logic. You also have a huge NodeJS libraries to build non-UI code.
MEAN Stack technology benefits : (Mongo db , Express.js, Angularjs and Nodejs).
MongoDB: It is the no SQL database . It uses JSON style documents for the data representation. The reason of choosing Mongo is that, it lets you make the use of just one language the whole way through. Well, whether you should select the tool as per your requirement. At the end of the day, it is your choice.
ExpressJS: It is a HTTP server framework for web applications that gives useful modules and components to work upon the common task for the website. It gives you the simple interface so that you can make request endpoints and cookie handling. Apart from that it is good at enabling the simple REST routes, handling automated HTTP header and supporting Connect middleware to plug in synchronous functions in order to manage the requests and responses.
AngularJS: It is a frontend JS framework to develop complex client side applications with modular code and data binding UI. It is used to develop the single page applications with the use of the MVC architecture; and maintained by Google. It improves the structure of the code and makes the testing easier with the dependency injection.
Node.js: It is a concurrent JavaScript environment for building scalable and fast web applications. It compiles the JavaScript code to native machine code before the execution. It is lightweight and perfect for the real time applications.
Well, now that you know how and why is it named MEAN, let us discuss some of the most important benefits of MEAN development. This will help you know the reason behind its growing popularity.
So, here are the advantages of using MEAN stack:
One of the most important benefits of all is that, it lets the developer write the entire code in JavaScript; from client to server. This is like a blessing for the JavaScript developers who have invested their time and money in learning JavaScript for the client side tasks.It supports the MVC (Model View Controller) architecture.
The MEAN components are open source; which means the stack gets updated regularly. In addition to it, it is easy and flexible to understand and use which helps the developers to customize as per your needs.Other advantages are the huge module library of node.js and the use of JSON to transfer the data.
It also allows us to add more features like:
Encrypted Voice chats
Encrypted Video Calling
Live Streaming
Products for user profiles
Custom markets and more.
We're currently not to deep into development as most know we have just finished the design faze and will be working in a accelerated schedule. It's really a good thing that we found this just at the right time. Lucky enough our current team of developers are also able to develop in the the current new stack requirements costing little to no extra cost for the project other then a few hours to change a few keys things.
To address a few questions:
This change will allow us to scale much quicker.
Yes we will still have a website ios and android.
Yes the code will still be native and easy to use for other outside clients.
Ios will be developed in objective-c
Android will be developed in java
We will make use of Native.
If you have any other questions please ask below in the comments.
The Zappl Team
Our social media profiles and misc:
Twitter | Facebook | Discord | steemitchat
Follow, Upvote, Comment, ReSteem, Share
@thedegensloth, @steemitqa , and @zappl