What is Quasar Framework and what are its top alternatives?
Top Alternatives to Quasar Framework
- Vuetify
Vuetify is a component framework for Vue.js 2. It aims to provide clean, semantic and reusable components that make building your application a breeze. Vuetify utilizes Google's Material Design design pattern, taking cues from other popular frameworks such as Materialize.css, Material Design Lite, Semantic UI and Bootstrap 4. ...
- Ionic
Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript. ...
- Nuxt.js
Nuxt.js presets all the configuration needed to make your development of a Vue.js application enjoyable. You can use Nuxt.js for SSR, SPA, Static Generated, PWA and more. ...
- React Native
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native. ...
- Flutter
Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android. ...
- Bootstrap
Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web. ...
- Framework7
It is a free and open source mobile HTML framework to develop hybrid mobile apps or web apps with iOS native look and feel. All you need to make it work is a simple HTML layout and attached framework's CSS and JS files. ...
- NativeScript
NativeScript enables developers to build native apps for iOS, Android and Windows Universal while sharing the application code across the platforms. When building the application UI, developers use our libraries, which abstract the differences between the native platforms. ...
Quasar Framework alternatives & related posts
- Enables beauty for graphically challenged devs29
- Wide range of components and active development24
- Vue22
- New age components18
- Easy integration13
- Material Design11
- Nuxt.js10
- Open Source10
- Awesome Documentation6
- Awesome Component collection5
- Internationalization5
- Not tied to jQuery5
- Best use of vue slots you'll ever see4
- Not tied to jQuery2
- Treeshaking2
- Active Community2
- Responsiveness2
- It is heavy19
- Not Vue 3 Ready (Alpha-Version)3
related Vuetify posts
Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:
- Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
- Vue Styleguidist as our style guide and pool of developed Vue.js components
- Vuetify as Material Component Framework (for fast app development)
- TypeScript as programming language
- Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
- ESLint, TSLint and Prettier for coding style and code analyzes
- Jest as testing framework
- Google Fonts and Font Awesome for typography and icon toolkit
- NativeScript-Vue for mobile development
The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:
- Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
- Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
- Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
- Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
- Large scaling. Vue.js can help to develop pretty large reusable templates.
- Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
At FundsCorner, when we set out to pick up the front-end tech stack (around Dec 2017), we drove our decision based on the following considerations:
(1) We were clear that we will NOT have a hybrid app. We will start with Responsive Web & once there is traction, we will rollout our Android App. However, we wanted to ensure that the users have a consistent experience on both the Web & the App. So, the front-end framework must also have a material design component library which we can choose from.
(2) Before joining FundsCorner as a CTO, I had already worked with Angular. I enjoyed working with Angular, but I felt that I must choose something that will provide us with the fastest time from Concept to Reality.
(3) I am strong proponent of segregating HTML & JavaScript. I.e. I was not for writing or generating HTML through JavaScript. Because, this will mean that the Front-end developers I have to hire will always be very strong on JavaScript alongside HTML5 & CSS. I was looking for a Framework that was on JavaScript but not HEAVY on JavaScript.
(3) The first iteration of the web app was to be done by myself. But I was clear that when someone takes up the mantle, they will be able to come up the curve fast.
In the end, Vue.js and Vuetify satisfied all the above criteria with aplomb! When I did our first POC on Vue.js I could not believe that front-end development could be this fast. The documentation was par excellence and all the required essentials that come along with the Framework (viz. Routing, Store, Validations) etc. were available from the same community! It was also a breeze to integrate with other JavaScript libraries (such as Amazon Cognito).
By picking Vuetify, we were able to provide a consistent UI experience between our Web App and Native App, besides making the UI development ultra blazing fast!
In the end, we were able to rollout our Web App in record 6 weeks (that included the end to end Loan Origination flow, Loans management system & Customer engagement module). www.jeyabalaji.com
Ionic
- Allows for rapid prototyping248
- Hybrid mobile228
- It's angularjs208
- Free186
- It's javascript, html, and css179
- Ui and theming109
- Great designs78
- Mv* pattern74
- Reuse frontend devs on mobile71
- Extensibility65
- Great community31
- Open source29
- Responsive design23
- Good cli21
- So easy to use14
- Angularjs-based13
- Beautifully designed13
- Widgets12
- Allows for rapid prototyping, hybrid mobile11
- Typescript11
- Quick prototyping, amazing community10
- Easy setup10
- Angular2 support8
- Fast, easy, free7
- Because of the productivity and easy for development7
- Base on angular7
- So much thought behind what developers actually need7
- Super fast, their dev team is amazingly passionate6
- Easy to use6
- It's Angular6
- UI is awesome4
- Hot deploy4
- Material design support using theme3
- Amazing support3
- It's the future3
- Angular3
- Allow for rapid prototyping3
- Easy setup, development and testing3
- Ionic creator3
- User Friendly2
- It's angular js2
- Complete package2
- Simple & Fast2
- Fastest growing mobile app framework2
- Best Support and Community2
- Material Design By Default2
- Cross platform2
- Documentation2
- Because I can use my existing web devloper skills2
- Removes 300ms delay in mobile browsers2
- Responsive1
- Native access1
- Typescript support1
- Ionic conect codeigniter1
- Fast Prototyping1
- All Trending Stack1
- Not suitable for high performance or UI intensive apps20
- Not meant for game development15
- Not a native app2
related Ionic posts
I'm currently doing some research to build a full cross-platform system that our personnel will use for various management and selling purposes, this is just a first step to migrate (and clean, lots of cleaning) a gigantic and obsolete system made in Java 7 with a nightmarish coupling between logic and view layers.
Since the system itself is considerably large, we are currently migrating the essential modules of its logic to an ExpressJS driven Restful API.
As a complementary project, I must find a way to share the highest possible amount of view code while achieving said cross-platform capacity.
My approach is the following:
- Angular 7+ and Ionic 5 for Android and iOS.
- Angular 7+ for the web.
- Angular 7+ and Electron for Desktop.
While Angular
is the common part, and considering that Ionic
can work on any platform, i'm wondering what is the best way to achieve a non-conflicting integration of Electron.js
to the very-commonly-used Angular+Ionic
Stack for both Mobile and Web development?
I've stumbled with a quite good template build called Polyonic
but I would love to hear more about the matter before taking such a long-lasting decision.
I want to learn cross-platform application frameworks like React Native, Flutter, Xamarin, or Ionic, and I'm a web developer. I can learn other programming languages as well. But I'm confused about what to learn, which framework is best, and which framework will last long as the application grows further into complexity.
- SSR60
- Automatic routes46
- Middleware32
- Hot code reloading28
- Easy setup, easy to use, great community, FRENCH TOUCH22
- SPA21
- Static Websites21
- Code splitting for every page20
- Plugins19
- Custom layouts18
- Automatic transpilation and bundling (with webpack and15
- Modules ecosystem13
- Easy setup13
- Vibrant and helpful community11
- Amazing Developer Experience11
- Pages directory11
- Its Great for Team Development5
related Nuxt.js posts
Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:
- Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
- Vue Styleguidist as our style guide and pool of developed Vue.js components
- Vuetify as Material Component Framework (for fast app development)
- TypeScript as programming language
- Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
- ESLint, TSLint and Prettier for coding style and code analyzes
- Jest as testing framework
- Google Fonts and Font Awesome for typography and icon toolkit
- NativeScript-Vue for mobile development
The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:
- Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
- Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
- Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
- Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
- Large scaling. Vue.js can help to develop pretty large reusable templates.
- Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
I want to build a documentation tool - functionally equivalent to MkDocs. The initial choice ought to be VuePress - but I know of at least one respectable developer who started with VuePress and switched to Nuxt.js. A rich set of "themes" is a plus and all documents ought to be in Markdown.
Any opinions?
- Learn once write everywhere214
- Cross platform174
- Javascript168
- Native ios components122
- Built by facebook69
- Easy to learn65
- Bridges me into ios development45
- It's just react40
- No compile39
- Declarative36
- Fast22
- Virtual Dom13
- Insanely fast develop / test cycle12
- Livereload12
- Great community11
- It is free and open source9
- Native android components9
- Easy setup9
- Backed by Facebook9
- Highly customizable7
- Scalable7
- Awesome6
- Everything component6
- Great errors6
- Win win solution of hybrid app6
- Not dependent on anything such as Angular5
- Simple5
- Awesome, easy starting from scratch4
- OTA update4
- As good as Native without any performance concerns3
- Easy to use3
- Many salary2
- Can be incrementally added to existing native apps2
- Hot reload2
- Over the air update (Flutter lacks)2
- 'It's just react'2
- Web development meets Mobile development2
- Ngon1
- Javascript23
- Built by facebook19
- Cant use CSS12
- 30 FPS Limit4
- Slow2
- Generate large apk even for a simple app2
- Some compenents not truly native2
related React Native posts
Your tech stack is solid for building a real-time messaging project.
React and React Native are excellent choices for the frontend, especially if you want to have both web and mobile versions of your application share code.
ExpressJS is an unopinionated framework that affords you the flexibility to use it's features at your term, which is a good start. However, I would recommend you explore Sails.js as well. Sails.js is built on top of Express.js and it provides additional features out of the box, especially the Websocket integration that your project requires.
Don't forget to set up Graphql codegen, this would improve your dev experience (Add Typescript, if you can too).
I don't know much about databases but you might want to consider using NO-SQL. I used Firebase real-time db and aws dynamo db on a few of my personal projects and I love they're easy to work with and offer more flexibility for a chat application.
I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.
- Hot Reload143
- Cross platform123
- Performance105
- Backed by Google89
- Compiled into Native Code73
- Fast Development61
- Open Source58
- Fast Prototyping53
- Single Codebase49
- Expressive and Flexible UI48
- Reactive Programming36
- Material Design34
- Dart30
- Widget-based29
- Target to Fuchsia26
- IOS + Android20
- Easy to learn17
- Great CLI Support16
- You can use it as mobile, web, Server development14
- Tooling14
- Debugging quickly13
- Have built-in Material theme13
- Target to Android12
- Good docs & sample code12
- Community12
- Support by multiple IDE: Android Studio, VS Code, XCode11
- Written by Dart, which is easy to read code10
- Easy Testing Support10
- Target to iOS9
- Real platform free framework of the future9
- Have built-in Cupertino theme9
- Easy to Widget Test8
- Easy to Unit Test8
- Large Community1
- Need to learn Dart29
- Lack of community support11
- No 3D Graphics Engine Support10
- Graphics programming8
- Lack of friendly documentation6
- Lack of promotion2
- Https://iphtechnologies.com/difference-between-flutter1
related Flutter posts
I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.
The only two programming languages I know are Python and Dart, I fall in love with Dart when I learned about the type safeness, ease of refactoring, and the help of the IDE. I have an idea for an app, a simple app, but I need SEO and server rendering, and I also want it to be available on all platforms. I can't use Flutter or Dart anymore because of that. I have been searching and looks like there is no way to avoid learning HTML and CSS for this. I want to use Supabase as BASS, at the moment I think that I have two options if I want to learn the least amount of things because of my lack of time available:
Quasar Framework: They claim that I can do all the things I need, but I have to use JavaScript, and I am going to have all those bugs with a type-safe programming language avoidable. I guess I can use TypeScript?, but that means learning both, and I am not sure if I will be able to use 100% Typescript. Besides Vue.js, Node.js, etc.
Blazor and .NET: There is MAUI with razor bindings in .Net now, and also a Blazor server. And as far as I can see, the transition from Dart to C# will be easy. I guess that I have to learn some Javascript here and there, but I have to less things I guess, am I wrong? But Blazor is a new technology, Vue is widely used.
Bootstrap
- Responsiveness1.6K
- UI components1.2K
- Consistent943
- Great docs779
- Flexible677
- HTML, CSS, and JS framework472
- Open source411
- Widely used375
- Customizable368
- HTML framework242
- Easy setup77
- Popular77
- Mobile first77
- Great grid system57
- Great community52
- Future compatibility38
- Integration34
- Very powerful foundational front-end framework28
- Standard24
- Javascript plugins23
- Build faster prototypes19
- Preprocessors18
- Grids14
- Good for a person who hates CSS9
- Clean8
- Easy to setup and learn4
- Love it4
- Rapid development4
- Great and easy to use3
- Easy to use2
- Devin schumacher rules2
- Boostrap2
- Community2
- Provide angular wrapper2
- Great and easy2
- Powerful grid system, Rapid development, Customization2
- Great customer support2
- Popularity2
- Clean and quick frontend development2
- Great and easy to make a responsive website2
- Sprzedam opla2
- Painless front end development1
- Love the classes?1
- Responsive design1
- Poop1
- So clean and simple1
- Design Agnostic1
- Numerous components1
- Material-ui1
- Recognizable1
- Intuitive1
- Vue1
- Felxible, comfortable, user-friendly1
- Pre-Defined components1
- It's fast1
- Geo1
- Not tied to jQuery1
- The fame1
- Easy setup21
- Javascript is tied to jquery26
- Every site uses the defaults16
- Grid system break points aren't ideal15
- Too much heavy decoration in default look14
- Verbose styles8
- Super heavy1
related Bootstrap posts
I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.
I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).
As per my work experience and knowledge, I have chosen the followings stacks to this mission.
UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.
Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.
Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.
Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.
Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.
Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.
Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.
Happy Coding! Suggestions are welcome! :)
Thanks, Ganesa
For Etom, a side project. We wanted to test an idea for a future and bigger project.
What Etom does is searching places. Right now, it leverages the Google Maps API. For that, we found a React component that makes this integration easy because using Google Maps API is not possible via normal API requests.
You kind of need a map to work as a proxy between the software and Google Maps API.
We hate configuration(coming from Rails world) so also decided to use Create React App because setting up a React app, with all the toys, it's a hard job.
Thanks to all the people behind Create React App it's easier to start any React application.
We also chose a module called Reactstrap which is Bootstrap UI in React components.
An important thing in this side project(and in the bigger project plan) is to measure visitor through out the app. For that we researched and found that Keen was a good choice(very good free tier limits) and also it is very simple to setup and real simple to send data to
Slack and Trello are our defaults tools to comunicate ideas and discuss topics, so, no brainer using them as well for this project.
- Free and open source21
- Well designed20
- Material design17
- Lots of ready-to-use ui elements, easy to customize15
- Best performance12
- Amazing documentation11
- Nice look and best performance9
- Performance and great features.9
- Rtl support9
- Easy To Learn7
- Free7
- Basic Web App Development Technique6
- Nice sample provided6
- Easy to use , transit from vanilla JS5
- Doesn't require learning a JS framework5
- Quick inital time5
- It's feels light to use5
- Easy to integrate2
- Not suitable for high performance in PWA. desktop apps1
related Framework7 posts
I needed to choose a full stack of tools for cross platform mobile application design & development. After much research and trying different tools, these are what I came up with that work for me today:
For the client coding I chose Framework7 because of its performance, easy learning curve, and very well designed, beautiful UI widgets. I think it's perfect for solo development or small teams. I didn't like React Native. It felt heavy to me and rigid. Framework7 allows the use of #CSS3, which I think is the best technology to come out of the #WWW movement. No other tech has been able to allow designers and developers to develop such flexible, high performance, customisable user interface elements that are highly responsive and hardware accelerated before. Now #CSS3 includes variables and flexboxes it is truly a powerful language and there is no longer a need for preprocessors such as #SCSS / #Sass / #less. React Native contains a very limited interpretation of #CSS3 which I found very frustrating after using #CSS3 for some years already and knowing its powerful features. The other very nice feature of Framework7 is that you can even build for the browser if you want your app to be available for desktop web browsers. The latest release also includes the ability to build for #Electron so you can have MacOS, Windows and Linux desktop apps. This is not possible with React Native yet.
Framework7 runs on top of Apache Cordova. Cordova and webviews have been slated as being slow in the past. Having a game developer background I found the tweeks to make it run as smooth as silk. One of those tweeks is to use WKWebView. Another important one was using srcset on images.
I use #Template7 for the for the templating system which is a no-nonsense mobile-centric #HandleBars style extensible templating system. It's easy to write custom helpers for, is fast and has a small footprint. I'm not forced into a new paradigm or learning some new syntax. It operates with standard JavaScript, HTML5 and CSS 3. It's written by the developer of Framework7 and so dovetails with it as expected.
I configured TypeScript to work with the latest version of Framework7. I consider TypeScript to be one of the best creations to come out of Microsoft in some time. They must have an amazing team working on it. It's very powerful and flexible. It helps you catch a lot of bugs and also provides code completion in supporting IDEs. So for my IDE I use Visual Studio Code which is a blazingly fast and silky smooth editor that integrates seamlessly with TypeScript for the ultimate type checking setup (both products are produced by Microsoft).
I use Webpack and Babel to compile the JavaScript. TypeScript can compile to JavaScript directly but Babel offers a few more options and polyfills so you can use the latest (and even prerelease) JavaScript features today and compile to be backwards compatible with virtually any browser. My favorite recent addition is "optional chaining" which greatly simplifies and increases readability of a number of sections of my code dealing with getting and setting data in nested objects.
I use some Ruby scripts to process images with ImageMagick and pngquant to optimise for size and even auto insert responsive image code into the HTML5. Ruby is the ultimate cross platform scripting language. Even as your scripts become large, Ruby allows you to refactor your code easily and make it Object Oriented if necessary. I find it the quickest and easiest way to maintain certain aspects of my build process.
For the user interface design and prototyping I use Figma. Figma has an almost identical user interface to #Sketch but has the added advantage of being cross platform (MacOS and Windows). Its real-time collaboration features are outstanding and I use them a often as I work mostly on remote projects. Clients can collaborate in real-time and see changes I make as I make them. The clickable prototyping features in Figma are also very well designed and mean I can send clickable prototypes to clients to try user interface updates as they are made and get immediate feedback. I'm currently also evaluating the latest version of #AdobeXD as an alternative to Figma as it has the very cool auto-animate feature. It doesn't have real-time collaboration yet, but I heard it is proposed for 2019.
For the UI icons I use Font Awesome Pro. They have the largest selection and best looking icons you can find on the internet with several variations in styles so you can find most of the icons you want for standard projects.
For the backend I was using the #GraphCool Framework. As I later found out, #GraphQL still has some way to go in order to provide the full power of a mature graph query language so later in my project I ripped out #GraphCool and replaced it with CouchDB and Pouchdb. Primarily so I could provide good offline app support. CouchDB with Pouchdb is very flexible and efficient combination and overcomes some of the restrictions I found in #GraphQL and hence #GraphCool also. The most impressive and important feature of CouchDB is its replication. You can configure it in various ways for backups, fault tolerance, caching or conditional merging of databases. CouchDB and Pouchdb even supports storing, retrieving and serving binary or image data or other mime types. This removes a level of complexity usually present in database implementations where binary or image data is usually referenced through an #HTML5 link. With CouchDB and Pouchdb apps can operate offline and sync later, very efficiently, when the network connection is good.
I use PhoneGap when testing the app. It auto-reloads your app when its code is changed and you can also install it on Android phones to preview your app instantly. iOS is a bit more tricky cause of Apple's policies so it's not available on the App Store, but you can build it and install it yourself to your device.
So that's my latest mobile stack. What tools do you use? Have you tried these ones?
I just designed, developed, and deployed my own budgeting app, dailybudget.cc, which allows me to automate my budgeting the way I have always done it, in a way that I could never fully capture with other budgeting apps, such as Mint, EveryDollar, or YNAB. I spent 4 years from the time I first had the idea to the time I actually sat down to design it and start development. During this time I evaluated many other budgeting app solutions, and had even architected a prototype that I never ended up using. But boy, have technologies come much further in 4 years.
Though my first prototype used Java and Tomcat, I completely abandoned those 4 years later in favor of Node.js technologies, which I have found are equally as stable, more flexible (for better or for worse), and capable of significantly more rapid development. Since what I have deployed now is in beta and is primarily for limited user use, I favored rapid development over slower development where I would write more automated unit tests. I chose to build the app as a HTML5 web application (rather than native iOS or Android, for now), and I used a separated API backend/Web frontend model. My target platform for use with the app is mobile handheld touch devices, though it can work on any laptop or desktop with a touchscreen. Given these design targets, many of the technologies I chose were because of familiarity with them as well as a strong online community, and some technologies I chose that I had to learn anew, because they appeared to fit my needs.
My entire app runs on a #lenovo IdeaCentre desktop on my home network, on which I have installed Ubuntu 18.04. Ubuntu is something I have switched to after a long time of use and familiarity with RedHat Enterprise Linux and CentOS, because the online support for Ubuntu is now tremendous, and there is so much documentation and examples online of how to configure and use Ubuntu; not to mention I have not been thrilled with the direction new releases of CentOS. Ubuntu is also a good environment for development - it is so easy to follow the many online examples. Lastly, I may migrate my app and configuration to Amazon AWS, which also uses Ubuntu for its EC2 Linux VMs, so having Ubuntu now is helpful for that prospect.
The API backend uses Node.js, with #HapiJS as the API server framework and MySQL as my persistence database. HapiJS is something I have had familiarity with and is just a phenomenal framework to plug into and configure, especially if you use it for a route-based API. #Mysql has a great online community. I could've used PostgreSQL too, but I am more familiar with MySQL. Also, if I migrate to Amazon AWS, Amazon's RDS uses MySQL. I use npm as a one-stop-shop package manager and environment manager.
The Web frontend uses a combination of Framework7 and Vue.js. I cannot evangelize Framework7 enough! It is a fantasic tool by @nolimits4web (GitHub) that is really easy to use, really well thought out, and really performant. Framework7 simulates the native iOS or Android (Google Material) experiences, all using HTML5 constructs (HTML+CSS+JS). Vue.js is another very fantastic binding and frontend framework which has a good online community and is well documented and easy to use. I had to choose between VueJS and ReactJS, and ultimately chose VueJS over ReactJS because it seemed to favor more rapid development with less ramp-up time, whereas I understood ReactJS to be more of an enterprise level framework (though still good for smaller projects like mine). When using Framework7 with VueJS, NodeJS is used along with Webpack to transpile my code into browser-friendly JavaScript, HTML, etc. Webpack was nice to use because it has a hot-deploy development mode to enable rapid development without me having stop, recompile, and start my server (this was one of several reasons against using Java with Tomcat). I had no familiarity with Framework7, VueJS, or Webpack prior to this project.
I use nginx as my web server and have the API running behind a reverse proxy, and all of the web frontent content hosted as static content.
I use the plaid API to sync my bank transactions to my database. This is another fantastic framework (though not free beyond development use) that it turns out is extremely easy to use for the complex job that it solves.
- Access to the entire native api75
- Support for native ios and android libraries47
- Support for javascript libraries46
- Angular 2.0 support46
- Native ux and performance44
- Typescript support37
- Backed up by google and telerik35
- Css support29
- Cross-platform declarative ui and code27
- Fully open source under apache 2.0 license25
- Vuejs support11
- 60fps performance9
- Powerful data visualization with native UI6
- VS Code integration5
- Angular, typescript and javascript support5
- No need for Mac to build iOS apps in Telerik Platform5
- Extended CLI support4
- Cloud builds as part of Telerik PLatform4
- Truly Object-Oriented with Typescript4
- On-device debugging4
- Extensibility4
- Access to entire native api3
- Live reload3
- Easiest of all other frameworks3
- Easy to learn3
- Backed by google3
- 0 day support for new OS updates3
- Publishing modules to NPM3
- Vue.js support out of the box2
- VueJS support2
- Svelte support2
- Powerfull mobile services as part of Telerik Platform2
- Native ui with angular2
- Vue support2
- Playground1
- Hot Reload1
- HMR via webpack1
- Very small app size1
- Write once, use anywhere1
- Easy to use, support for almost all npm packages1
- Rich ecosystem1
- Compile to Apple/Google Stores via CloudCompiler1
- Has CSS ;-)1
- It works with Angular1
- Code reuse with your website1
- Dart0
- Lack of promotion5
- Slower Performance compared to competitors1
related NativeScript posts
Hello,
We're just brainstorming for the moment and we have a few questions.
We have an idea for an app that we want to develop, here are the prerequisites:
1) cross-platform (iOS, Android, and website);
2) as easy to maintain as possible / well documented / widely used;
3) Visual Studio Code and Copilot compatible;
4) Text to speech;
5) Speech recognition;
6) Running in background (screen off with TTS and speech recognition);
7) could be using TypeScript;
8) Monetized through ad and in-App payment for premium version;
9) Display on lock screen (Android only I guess)
So what would you recommend?
I've been trying to review the options available, and I've considered:
NativeScript
React Native
Flutter
Any other?
Thanks in advance for your help, and I'm open to any comments.
So, i am preparing to adopt NativeScript.
For years my hybrid projects used Apache Cordova.
"Let's avoid to maintain two teams and double the deliver velocity".
It was good for a few years, we had those september issues, (i.e. apple broke some backward compatibility) , but for the last years, things seems to be losing the grip faster.
Last breaking changes, for instance, seems to have a workaround, however that growing feeling that simple things can not rely on so fragile webviews keeps growing faster and faster.
I've tested nativescript not only on it's "helloworld", but also on how do they respond on issues.
I got tweed support. I opened an github issue and got answers on less than 10 hours (yes i did it on another timezone and very close to a weekend). I saw the faulty docs get corrected in two days.
The bad news is i only can adopt nativescript on newer projects, since there is no budget to revamp the current solutions.
The good news is i can keep coding on Vue.js , without vou router, but that's ok. I've already exchanged vanilla html for real native app with background magic enabled, the router can be easily reproduced.