mean stack freelance web front end developer professional mean stack web freelance mean stack and creative web designer based in tunisia. specialise in creative standards compliant web design and resume solution for your business. Web Design, mean stack web à Tunis, création de sites Internet. stratégie digitale, mean stack, mean stack web, responsive web design et SEO,Web Designer, web mean stack freelance resume;full stack freelance ,mean stack freelance,freelance Angularjs tunisie Web Design, agence web à Tunis, est leader de la création de sites Internet. stratégie digitale, webdesign, mean stack web, responsive web design et SEO.

La créativité est une drogue dont je ne peux pas vivre sans
web freelance tunisia
Mean stack devloppeur

je suis Mohamed Nasr

Mean stack developer & web designer

MEAN est une collection de technologies JavaScript - MongoDB, Express.js, AngularJS et Node.js - utilisées pour développer des applications Web. Du côté du client et du serveur aux bases de données, MEAN est une trousse à outils de développement complet. Jouez dans les cinq cours suivants pour devenir un développeur MEAN et gagnez un nouveau badge!


My portoflio   download CV

Tout sur Mean stack

MongoDB

Serveur MongoDB MongoDB Server est une base de données de documents open-source conçue pour faciliter le développement et la mise à l'échelle.

MongoDB Atlas MongoDB Atlas est une base de données en tant que service créé par les experts qui conçoivent et ingénient MongoDB.

MongoDB Cloud Manager MongoDB Cloud Manager est une solution hébergée de gestion des opérations pour MongoDB.

MongoDB Ops Manager MongoDB Ops Manager est une solution de gestion des opérations d'entreprise pour MongoDB.

Pilotes MongoDB Les pilotes MongoDB vous permettent de travailler avec les bases de données MongoDB à partir de vos langages de programmation préférés.

Compas MongoDB MongoDB Compass est un outil d'exploration et d'analyse de données visuelles.

Connecteur d'étincelle MongoDB MongoDB Connector for Spark offre une intégration entre MongoDB et Apache Spark.

Connecteur BI MongoDB MongoDB Connector pour Business Intelligence connecte les outils de business intelligence à vos bases de données MongoDB

AngularJS

Pourquoi AngularJS? HTML est idéal pour déclarer les documents statiques, mais il faiblit lorsque nous essayons de l'utiliser pour déclarer les vues dynamiques dans les applications Web. AngularJS vous permet d'étendre le vocabulaire HTML pour votre application. L'environnement résultant est extraordinairement expressif, lisible et rapide à se développer. Alternatives D'autres frameworks traitent des lacunes de HTML en supprimant HTML, CSS et / ou JavaScript ou en fournissant un moyen impératif pour manipuler le DOM. Aucun d'entre eux n'aborde le problème racine que HTML n'a pas été conçu pour les vues dynamiques. Extensibilité

AngularJS est un ensemble d'outils pour construire le framework le plus adapté au développement de votre application. Il est entièrement extensible et fonctionne bien avec d'autres bibliothèques. Chaque fonctionnalité peut être modifiée ou remplacée en fonction de votre flux de travail de développement unique et les besoins de fonctionnalité. Lisez la suite pour savoir comment.

Express

Des applications Web Express est un framework d'applications Web Node.js minimal et flexible qui fournit un ensemble robuste de fonctionnalités pour les applications Web et mobiles.

APIs Avec une myriade de méthodes d'utilitaires HTTP et middleware à votre disposition, la création d'une API robuste est rapide et facile.

Performance Express fournit une mince couche de fonctionnalités d'application Web fondamentales, sans obscurcir les fonctionnalités de Node.js que vous connaissez et que vous aimez.

Cadres De nombreux cadres populaires sont basés sur Express.

Node js

Node.js® est un runtime JavaScript construit sur le moteur JavaScript V8 de Chrome. Node.js utilise une E / S sans blocage événementielle Modèle qui le rend léger et efficace. Node.js ' Package ecosystem, npm, est le plus grand écosystème de bibliothèques open source au monde.

Tout sur Mean stack

Mean.io

Comme première fois, je vais mentionner l'une des plus anciennes mises en œuvre - Mean.io. Il a utilisé pour être très jolie boilerplate de tous les quatre ingrédients principaux de la pile. Il a été tout à fait nus, avec seulement un modèle de html Jade pour le côté du serveur et quelques tests de Mocha jetés po structure de dossier et la convention de nom a peut-être pas le meilleur, mais il était là, et il était utilisable. Donc, je suis allé joyeusement en utilisant cette merveilleuse pile, et comme il s'agissait juste d'une planche, il n'y avait pas de commentaires en cours de la Mean.io - tous les changements que j'ai remarqué seulement quand je voulais démarrer un prochain projet. Soudain, je ne pouvais plus comprendre comment les parties serveur de Mean sont connectées. Il y avait beaucoup plus de fichiers impliqués maintenant et aucun lien cristallin plus clair entre server.js, routes.js, express.js et config.js. Maintenant, il y avait des modules système spécifiques, certaines choses inclus automatiquement, d'autres non. À partir de 25 paquets npm, le dossier node_modules avait atteint 55+. Maintenant, il a aussi de meilleurs outils de test et un bon ensemble de tâches gulp pour faciliter le développement. Comment tout cela a fonctionné ensemble - je ne savais plus. Mais il a travaillé et a très bien fonctionné pour son but prévu. Mais je me suis senti comme Mean.io est devenu beaucoup plus opiniâtre, et aussi ils ont fait beaucoup de décisions pour moi déjà - comment définir les menus, comment gérer les utilisateurs, comment emballer différentes parties de code. Comment tout cela devrait être exécuté ensemble, comment il devrait être testé. Et aussi un groupe de paquetages personnalisés intégrés pour Mean.io C'était juste trop pour moi, de propre bien testé boilerplate au début, il était devenu presque un cadre. Cadre qui ajoute toute la complexité du cadre, mais pas vraiment un montant comparable de valeur ajoutée. J'ai essayé, mais je ne pouvais pas tomber en amour avec cette pile-tourné-cadre. Maintenant, en regardant Mean.io mois plus tard, on dirait qu'il a été en croissance dans la même direction. Plus de cadre, plus de magie, plus de paquets, moins de clarté.

Mean.js

Deuxième grand concurrent de l'espace moyen est Mean.js. Fork de Mean.io rédigé par l'un des créateurs originaux. Il a été bifurqué autour du moment où Mean.io introduit des paquets et des modules, donc il contient même de cette complexité malheureuse aussi bien. Il est tout aussi complexe que Mean.io quand il s'agit de code côté serveur. Et il comprend également presque la même quantité de paquets npm. Cependant, il se sent beaucoup moins insistant sur ce qui devrait être utilisé et comment. Il vient comme un générateur Yeoman gentil, qui est assez aimable pour demander si vous avez au moins quelques préférences pour Angulaire, même si pas beaucoup d'autre. Il est également livré avec un ensemble de tâches Grunt, ce qui est pratique. Dans l'ensemble, ce n'est pas un mauvais endroit pour commencer le voyage moyen, il y aura des choses plus difficiles à comprendre côté serveur, mais aussi longtemps que vous ne dévierez pas du chemin établi par les auteurs Mean.js, cela ne devrait pas être un problème. Tous les travaux d'installation, seulement, même problème que pour Mean.io - plus il devient un cadre, moins évident le code est, le plus dépendante C'est sur la taille de la communauté et la quantité de documentation.

MEAN Boilerplate

C'est notre troisième participant à la liste de développement moyenne d'aujourd'hui. Par rapport aux deux précédents, MEAN Boilerplate maintient sa nature classique de celui-ci directement dans son nom. Il n'ya pas de motif cadre en dessous, il est vraiment juste un boilerplate. Du côté du serveur, il ne contient que 20 paquets npm, et sur le côté client la même quantité de composants de bower que Mean.io et Mean.js. Il y a plus d'optimisations, de correctifs et de préréglages pour le client, mais pas trop. Toutefois, cette plaquette n'est pas configurable, et si vous le prenez, vous devrez également accepter Jade au lieu de HTML, CoffeeScript au lieu de Javascript, Moins au lieu de CSS et YAML au lieu de Javascript pur pour les configurations. Cette partie a été un inconvénient majeur pour moi, car je ne veux pas passer à Coffeescript en ce moment. Et aussi YAML se sent comme un complément redondant à la pile moyenne. Boilerplate n'a pas de scripts Gulp ou Grunt, mais il a rechargement de code hot avec nodemon préconfiguré. Il existe également une dépendance ruby ​​pour le planificateur, qui pourrait être supprimée assez facilement si elle n'est pas utilisée. Par rapport à d'autres boilerplates, il n'y a pas de bons exemples d'utilisation inclus, lors du démarrage du serveur, il montre seulement un logo avec un champ de saisie montrant le code angulaire de base. Aucun article, utilisateurs ou liste de tâches pour voir tous MVC en action. Dans l'ensemble - bon choix si vous êtes expérimenté Utilisateur moyenne pile et aussi friands de Coffeescript. Sinon - toujours utile pour au moins pic autour du code, il ya probablement quelques goodies pour vous de trouver et de ramasser. Cependant, je ne suggérerais pas cela comme un point de départ dans Voyage moyen.

AngularJS Full-Stack generator

Il n'a rien de ressemblant au logo, donc je vais omettre cela. Il met en vedette fièrement Angulaire dans son nom, et le reste des applications Moyenne pile seulement dans la description. En substance, il est avancé Yeoman générateur de pile moyenne. Comparé au générateur Mean.js, cela vous permet de choisir et de choisir presque chaque partie de la pile. CSS préprocesors, JavaScript vs CoffeeScript, Html vs Jade et routeurs Angulaire. En bonus, les intégrations les plus courantes d'oAuth et l'intégration de Socket.io. Grunt setup est avancé avec linting, test, minifying, uglyfying et distinct dist dossier. Tous sont bien préparés à faire de bonnes pratiques de codage et de déploiement dès le début. Il y a également quelques exemples d'utilisation plutôt complets inclus, pour les utilisateurs et pour les choses dans la page principale. Les exemples vous permettent de voir immédiatement comment utiliser Angular, Node et Mongo en conjonction tant du côté du client que du serveur ainsi que des propositions de conventions de dénomination proposées, qui sont très bonnes aussi. À l'heure actuelle, il semble que la version Html générée contient l'exemple complet, tandis que la version Jade est manquant partie interactive. Je l'ai signalé ici. En général, le développement de ce générateur semble actif, les problèmes sont répondu et le nouveau code est commis. C'est un bon choix pour les nouveaux arrivants à Mean stack, ainsi que pour les développeurs chevronnés. Il offre exactement ce qui est nécessaire, et vous permet de choisir des solutions de rechange partout où cela est nécessaire. Pas de code magique supplémentaire, pas de bibliothèques supplémentaires. Et même si on a l'impression qu'il n'y a pas de bibliothèques supplémentaires, il parvient toujours à apporter des modules lourds de 75 npm à la bataille - le plus parmi les prétendants d'aujourd'hui.

Tout sur Mean stack

Ce que Meteor vous donne gratuitement

Meteor vous donne beaucoup plus de la boîte. Le client et le serveur communiquent des données Mises à jour de façon transparente et automatique, sans que vous ayez à écrire un code de synchronisation des données

MEAN Stack est juste MongoDB, Express, Angular et Node.js regroupés, mais il n'y a rien de transparent à ce sujet. Vous devez faire tout le câblage vous-même entre MongoDB et Node.js, entre Express et Angular, créer des points de terminaison REST et de les consommer etc - tout cela juste pour obtenir une application Web de base va, sans aucune fonctionnalité que Meteor vous donne pour Free: hot code reload, développement mobile (web, applications Android et iOS à partir de la même base de code), des modèles réactifs qui se mettent à jour automatiquement lorsque des données sur le serveur changent (essayez d'écrire le code manuellement et de le faire fonctionner correctement par intermittence de connexions réseau , Et assurez-vous qu'il est sécurisé), la gestion des sessions, les paquets qui peuvent installer des composants sur le serveur et sur le client (par exemple, l'auto-complétion côté serveur - vous ne le trouverez nulle part ailleurs, Twitter Typeahead et similaires sont des solutions client uniquement ).

Avec MEAN stack, lorsque vous faites une requête REST pour une table / collection, vous dites essentiellement «Envoyez-moi les résultats de cette requête». Avec Meteor, vous vous abonnez aux résultats de cette requête et tous les documents créés ou modifiés qui correspondent seront automatiquement envoyés au client via une connexion WebSocket rapide.

Grâce à ses API isomorphes (les mêmes méthodes fonctionnent sur le client et le serveur, par exemple HTTP.call), Meteor facilite la création d'une application full stack par un développeur ou une meilleure compréhension de la Base de code à travers le projet. MEAN stack ajoute à la séparation entre le serveur et le client en raison de différentes API utilisées.

Ce qui est plus facile à apprendre?

Mais n'est-ce pas beaucoup à prendre en même temps? Pas vraiment. Grâce à l'accent mis par Meteor sur la simplicité (l'un de ses sept principes fondamentaux), Meteor dans son ensemble est beaucoup plus facile à apprendre que Angular seul. Beaucoup ont trouvé Angulaire d'être une douleur à apprendre et a fini par frustré - voir Un examen non conventionnel de AngularJS: "Angulaire est ... band-aids sur les blessures auto-infligées" Vous pouvez obtenir les rudiments de Meteor en seulement une heure. Rendez-vous sur http://meteor.com/try. La documentation de Meteor est également très bien rédigée. Par comparaison, la documentation de la pile MEAN.io est telle que j'ai parcouru aujourd'hui la section Packages et j'ai trouvé un nombre embarrassant de fautes de frappe en quelques minutes, le tout dans les deux pages de la documentation. Les paquets semblent n'avoir aucune documentation, non plus. Et non pour discréditer les auteurs, Mais vous ne pouvez pas facilement trouver qui l'équipe de base est - le lien dans Crédits est cassé. La documentation de l'alternative, la bifurcation MEAN.JS commence par: «Après avoir téléchargé le code source, passez en revue la documentation officielle de MongoDB, ExpressJS, AngularJS et Node.js, puis continuez avec la documentation MEAN.JS. Étant donné qu'il prend vraiment une heure pour faire quelque chose d'utile avec Meteor, à partir de zéro, il vaut la peine de lui donner un premier essai, d'avoir une référence avant de commencer à apprendre MEAN.io ou MEAN.JS. Bien sûr, vous aurez encore besoin d'apprendre MongoDB bien pour une application de production, mais Meteor ne vous envoie pas là pour commencer. Les 80% des cas les plus courants d'utilisation de Mongo sont déjà expliqués dans la documentation Meteor.

Communauté

Meteor vous évite également d'avoir à rechercher quelles librairies utiliser pour les différentes couches de l'application (transport, synchronisation des données, API, sécurité, opérations CRUD, etc.). Toutes les pièces qui composent Meteor fonctionnent ensemble très bien. En revanche, en considérant la pile MEAN, vous commencez par choisir entre MEAN.io et MEAN.JS. La petite histoire est que le principal contributeur de MEAN.io, Amos Haviv, Forked d'un conflit open-source en Janvier 2014. Vous pouvez en savoir plus sur l'histoire et les différences sur StackOverflow. Cela a divisé la communauté en ~ 6k GitHub stars pour .io et ~ 2k pour .js. Meteor en comparaison a 23 000 étoiles GitHub. Sur StackOverflow, en ce moment il ya plus de 10 000 questions étiquetées météore, et environ 1,100 total tagged mean, mean.io et meanjs Pour en savoir plus sur la taille de la communauté, consultez la section Communauté dans Why Meteor.

Quand ne pas utiliser Meteor

Comme avec n'importe quel outil, Meteor n'est pas toujours la bonne solution. J'ai développé le moment de ne pas utiliser Meteor dans la section correspondante de mon article Why Meteor (par exemple, lorsque vous créez une application client ou lorsque vous avez besoin d'interface avec des bases de données autres que MongoDB). Pour comparer les pommes aux pommes, pensez que la pile MEAN comprend un serveur et MongoDB. Alors voyons quand une pile MEAN pourrait être un meilleur choix pour une nouvelle application web: Si vous avez déjà la plupart des morceaux de votre application écrite à l'aide de la pile MEAN. Meteor fournit beaucoup de détails supplémentaires, mais assurez-vous qu'ils justifient les coûts de migration. Si vous construisez un service Web / API REST et n'avez pas besoin de fonctionnalités client. Meteor est une plateforme client-serveur. (Remarque: si vous envisagez REST, considérez GraphQL à la place) Si vous n'avez pas vraiment besoin de votre application Web pour être en temps réel. Il y a un coût de RAM et de processeur pour fournir une synchronisation de données en temps réel entre le serveur et les clients abonnés, même si un serveur numérique de 5 $ / mois à faible spécification peut gérer une application Meteor de base. Si vous construisez un site Web plutôt qu'une application Web et qu'il est plus important de livrer la première page aussi rapidement que possible, plutôt que de pouvoir réaliser des prototypes ou développer très rapidement Si vous avez déjà besoin d'étendre votre application à des millions d'utilisateurs en ce moment - bien qu'avec Meteor 1.3, deux nouveaux développements aideront dans ce domaine: La plateforme d'hébergement évolutive Galaxy Le système Livedata de Meteor prend désormais en charge les requêtes accordables pour aider à l'échelle de grandes applications.

Tout sur Mean stack

Configurez votre environnement

Si vous utilisez une machine Windows, vous avez quelques étapes supplémentaires à faire avant de commencer: Installez Python 2.7.x Installez Microsoft Visual Studio C ++ 2012 Express Sous Windows / Mac / Autre: Installez Node.js Installer Git Vous pouvez en savoir plus sur Git dans mon post ici: Ne vous git it? Conseils et astuces pour l'Open Source Lorsque vous téléchargez le logiciel ci-dessus, obtenez les versions les plus récentes pour votre système d'exploitation et suivez les invites pour effectuer les installations. Les paramètres par défaut fonctionnent très bien. Une fois que vous avez installé le logiciel ci-dessus, vous êtes prêt à utiliser presque n'importe quel code Node.js basé.

Obtenez un bon IDE pour le développement web

IDE signifie environnement de développement intégré. Le logiciel IDE fournit beaucoup d'outils en un seul endroit. La plupart des développeurs que je connais utilisent: Webstorm ou Sublime texte. J'utilise Webstorm, parce que je suis familier avec elle, et il est plus facile pour moi de sauter à travers Android Studio pour faire le développement Android, car ils sont tous deux basés sur IntelliJ IDEA. Vous devriez utiliser tout ce que vous êtes à l'aise avec.

Démarrez l'installation MEAN Stack globale

2743/5000 Nous commençons le processus d'installation en utilisant Node.js pour installer quelques programmes clés globalement sur votre ordinateur. L'installation de quelque chose de manière globale signifie que vous l'installez une fois et que vous pouvez l'utiliser pour toutes vos applications. Conseil rapide: Le processus d'installation de la pile MEAN utilise la ligne de commande (par exemple, invite de commande, powershell, xcode). Si vous utilisez Windows, vous devez alors démarrer votre outil de ligne de commande en tant qu'administrateur. Pour ce faire, trouvez l'icône de l'application que vous souhaitez exécuter, faites un clic droit dessus et sélectionnez "Exécuter en tant qu'administrateur". Maintenant que nous avons la ligne de commande ouverte. Laissez les installations commencer! Nous utiliserons npm - le gestionnaire de paquets du nœud pour installer un ensemble de paquets. Recherchez toutes les références de npm ci-dessous. Conseil rapide: Lorsque vous voyez l'icône "$" à côté du code ci-dessous - le signe "$" est un moyen universel pour indiquer qu'une ligne de code doit aller dans votre programme de ligne de commande. Donc, ne copiez pas le symbole $, mais tapez (ou copiez) le texte qui vient après dans votre programme de ligne de commande (invite de commande, powershell, xcode). Installez Bower globalement: Bower est un autre gestionnaire de paquets. Il peut être utilisé lorsque vous souhaitez ajouter des paquets de code à votre application Web, Bower peut vous aider à installer rapidement le code et vous aider à mettre à niveau vers des versions plus récentes. Pourquoi avons-nous besoin de deux gestionnaires de paquets? À un niveau élevé, npm (gestionnaire de paquets du nœud) est utilisé pour les paquetages des nœuds et des serveurs, alors que Bower est souvent utilisé pour les paquetages côté client. $ Npm install -g bower Installez Grunt globalement: Grunt vous aide à automatiser les tâches répétitives. Grunt vient dans beaucoup de variétés différentes, et son travail est de rendre votre travail plus facile. $ Npm install -g grunt-cli Installez Yo globalement: Yo est un outil d'échafaudage. Il peut être utilisé pour créer et configurer votre application en vous posant des questions, en prenant vos commentaires et en remplissant des parties de votre application en fonction de vos préférences. Il peut également vous aider à créer et à étendre rapidement des parties de votre application. $ Npm install -g yo Quels saveurs de MEAN puis-je obtenir? Il ya quelques variations de la pile MEAN sur GitHub. Les deux repos clés sont: Mean.js Moyenne Je pense que MEAN.JS est un bon endroit pour commencer pour les débutants, en particulier pour tirer parti de Yo. Installez le générateur MEAN.JS: Le générateur MEAN.js est le code MEAN qui sera utilisé par Yo pour vous aider à pré-remplir des parties de votre application. $ Npm install -g generator-meanjs

Créez votre application MEAN

Maintenant, nous allons utiliser Yo et lui dire de prendre le générateur mean.js, et de créer une nouvelle application. Le prochain ensemble d'installations sera fait «localement» - dans le dossier de notre nouvelle application. Presque là! Créez et naviguez dans le répertoire dans lequel vous souhaitez créer votre projet. Par exemple: si je voulais configurer mon application MEAN dans un nouveau dossier appelé myMEANProject, je ferais ce qui suit: $ Cd C: \ Users \ Jane $ Mkdir myMEANProject $ Cd C: \ Users \ Jane \ myMEANProject Exécutez le générateur MeanJS La dernière étape consiste à générer une nouvelle application MEAN en utilisant Yo et le générateur MEAN que nous avons installé ci-dessus: $ Yo meanjs Cela indique 'Yo' d'utiliser le générateur 'meanjs' pour vous poser un ensemble de questions - répondre à chaque question et appuyez sur la touche Entrée pour passer à la question suivante. Une fois que vous arrivez à la fin, les dépendances pertinentes (les paquets de code que votre application utilisera) pour la pile MEAN seront installées. Prenez un peu de chocolat chaud (ou un café, vodka, vin, bière - cependant vous roulez). Cela prendra quelques minutes. Aidez-moi! Ça n'a pas marché! Si vous arrivez à la fin et que le processus échoue, procédez comme suit: Uniquement si l'installation échoue, essayez l'une des opérations suivantes: 1. $ npm cache propre 2. Mise à jour de $ npm 3. Mise à jour de $ bower Laissez votre outil de ligne de commande ouvert. Vous aurez besoin de nouveau dans quelques minutes. Si vous êtes à cheval sur l'odeur douce du chocolat chaud, alors s'il vous plaît prendre le pli, vous êtes sur le point de casser un six. Configurer une base de données MongoDB: Nous allons créer un compte sandbox gratuit. Allez à Compose ou Mongolab et connectez-vous ou inscrivez-vous pour un nouveau compte. Si vous utilisez Compose, j'ai mis à jour les étapes de création d'un environnement de sandbox à l'aide de Composer ici. Pourquoi avons-nous simplement créé une base de données? Parce que nous avons besoin des détails de connexion pour notre application MEAN pour vous y connecter et enregistrer des données.