Skip to main content

A long journey before i going back to other platforms


That's a long journey for going work on mine other projects due to i participate a startup mate together work on a startup projects. In the projects, i learn and workaround back-end framework in many of languages ( due to private work cant show too much code ). Also i does self-taught some front-end frameworks by learn from mine front-end mate's code & re-base using flutter. It was taken about half of a year to build up a proper back-end server due to inexperienced of my skills and technique so take time to learn.

I have also played around many frameworks such as
 

Back-end

  • ExpressJS - Most basic of the back-end frameworks
  • NestJS - A progressive Node.js framework for building efficient and scalable server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8) heavily inspired by Angular
  • SailsJS - A MVC framework inspired from Ruby on Rails, have a really good structure and newbie friendly
  • HapiJS - Quite same with Express but more extensible and have a big of community built many of plugins
  • Fastify - Fastest framework in javascript, they also have the comparsion benchmarks.
  • Nancy -  Lightweight web framework for .NET C#
  • ASP .Net - Open source web framework for building modern web apps and services with .NET
  • Laravel -  The PHP Framework For Web Artisans, quite newbie friendly.
  • Yii2 - The Fast, Secure and Professional PHP Framework, have a quite same structure with SailsJS.

Front-end

  • React-Native - build real mobile apps with react-native using ReactJS built by Facebook Developers Team.
  • Flutter - using a different oop languages 'Dart' to build mobile apps built by Google.

With these frameworks i have take a long time to choose which should i use and which better, due to the ORM / ODM ( Object Relation Mapper, Object Document Mapper ) different on different frameworks too. And for a back-end developer must know many thing such as services like firebase, architecture such as microservice, monolothic. They still have many thing i doesn't introduce here cause i will introduce by post due to busy so haven't post at this time will only introduce some better and important things.


Firebase is a very very good services for back-end & also support front-end. They also provided by google. They support authenticate managemenet, realtime database, analytics, dynamic links, and too much they have supported.

module.exports = async (req, res, proceed) =>
{
    const header = req.headers['x-firebase-token'];
    if (header)
    {
        try
        {
            const verifyResult = await firebase.auth.verifyIdToken(header);

            req.firebaseUser = verifyResult;
            return proceed();
        }
        catch (error)
        {
            return res.unauthorized(error.message);
        }
    }
    return res.unauthorized('Firebase token header required.');
};  

This was mine one of the sample usage by verify incoming request headers and check is the users registered or is valid to make a back-end api call. And for realtime data, you can think a example like when you update something and u must update it to the client as fast as possible and without refresh the page, mostly u can think a chart.


Flutter is a good framework too since it provided by google so community expand quite fast. I would use it to build for my FYP apps so i have structured a sample projects inspired from mine front-end developer startup teams using Redux & Selectors & Thunk & Navigator. Redux mainly for state management of whole apps and use the state anywhere in the components. Selectors for filtering data in the state. Thunk for action middleware for dispatch async action like api call. Since flutter is using 'Dart' a oop like language so i would more like to use Flutter instead of react native.

Every of my containers have that structure, its look like redux with react. But for navigator & reducerInjector quite different in react native will be easier, in flutter must be defined all of the reducer. Navigator also need to build a middleware for it to work with redux ( posted by flutter groups already ).







Depends on personal who love which structure and language and choose your favorite framework, these 2 framework is really good at all.

I would like talk to here others, i will post at another post to explain longer about the framework & other platform i have touched such as game development, arduino, apps, ++.

Popular posts from this blog

Local Development | LAN [ Local Area Network ]

Before an application, website, backend server, frontend app or any application required to integrate with another platform, how you work with your friends? Put all in one computer for testing?  Upload to a free hosting for testing like Heroku ? If your team able to work in same place, i would suggest hosted own local network for testing at least faster then using other free platform like Heroku. As of improvement of technology, nowadays network interface card ( NIC ) would have a feature about HostedNetwork. You can host your local area network ( LAN ) for your friends and they can access your works and testing at their own computer and fix would faster the development. In Windows You can use command prompt and type "netsh wlan show drivers" and check is "Hosted network supported : ". If supported you can create your local area network by using command "netsh wlan set hostednetwork mode= allow ssid= YourAP key= YourPW ". YourAP  = Acc...

Backend Developer & Development [ Part 1 ]

Backend developer is a develop who maintain the work users /  clients can't see such as processing transaction, data structure, data transfer. These works would contains in a API server and API server contains many endpoint that can call by anyone but only success when fulfill endpoint requirements so it is secured. API Server also know as REST API ( Representational State Transfer ). It's processing like client request to server & after server process return response to client. API Server is develop by backend developer and this api server can be many type and different language, different framework such as Ruby on Rails ( RoR ) using Ruby Python PHP ( Laravel & Yii2 ) Java ( Spring ) C# ( ASP.NET & NancyFX ) Node.JS ( ExpressJS, SailsJS, HapiJS, NestJS, FeatherJS ) Different framework have their own advantages and can be used on different projects based on their features and usage. In the development not only choosing frameworks also need to ch...

Async / Await vs Promises

## Node.JS In node.js, asynchronous operation able to done by two ways. They are async/await codeblock or promises. What different between them? ### Promises In promises, some of them call it `callback hell` because of the syntax keep repeating callback like and until the end of the async operation. Here come with an example. ```js samplePromise: () => { var promise = new Promise((resolve, reject) => { try { // async codeblock resolve(result); } catch (e) { reject(e); } }); promise.then( (result) => { // result is returning and async operation run complete. }, (rejected) => { // rejected something wrong when running async operation } ).catch( (error) => { // unhandled error occurs when running async opeartion } ); } ``` With this example, you able see that promise code block is quite long when running an async operation, try to think what if more complex async operation required to run, like you need to get data fr...