Decision to go for SPA or multi-page architecture - user-experience

Following question is pretty much an architecture level question, please bear with me and give me some feedback:
How do you take the decision whether you want to go for a SPA or traditional multi-page level application? Is there any factors that you should consider before you decide to go for SPA approach? I'm sure you just not think you want to give your users a rich user experience by reducing server round trips and just go in the SPA way.
I'm really trying to understand what should be considered before taking that decision and hope someone could answer me.
Thanks in advance

Related

Do I need a separate backend to this case with an almost complete frontend NextJS 12?

Can anyone help me to decide which technology(s) to use in a work project?
I need help with some technical issues related to the job I joined 2 weeks ago and would like to know if someone with more experience could help me.
The help I need is to make one decision about which technology(es) I should use in to continue the development of an app that connects patients and doctors in a specific area of ​​medicine, having a dashboard with chat (persistent), calendar/schedule, financial and other things less impactful.
The front-end is "practically" ready with NextJS 12 and (as I understand it) has a basic "pre-implementation" of session management with cookies and Firebase to Google and Facebook Auth) and the main question are about:
whether it will be better and/or necessary to make a separate back end (outside of NextJS's "serverless" API concept) fully or partially (in this case, which parts will be separated?),
Reason of this question: it's my first job as a Node JR backend developer and the company that hired me suffered from an "exodus" of 80% of employees due to problems in negotiations about salary and workload, so I was "kind of in the lead" of the project over the which I have doubts.
Thanks in advance!
I've searched a lot for several hours about NextJS serverless concepts in many cases, but I have no time to test implementations and the app should have a chat, store documents and payments.
I confess that I am inclined to prefer to make a separate backend, in view of the more well-known traditional advantages, but I would still like to have a little more understanding (especially about the more punctual differences between custom server and Next in this case) to defend the decision that is taken.

What's the best and easy way to build a cloud based SaaS product?

am working on a project and don't have experience with developing applications, I want like the BEST and EASY way to build cloud based SaaS product.
Can anyone tell which tech stack I should use, which backend lang/framework, db, which cloud company etc? I know only php in backend as of now but am thinking to first learn js and then nodeJS and then use it for backend and for db am thinking to use mysql.
There's something which might affect your answer, am actually not expecting much traffic on it not even in future. Please tell considering both the scenarios, application with very low traffic expectation and application with high traffic.
I would say the best way is to sit down and write out exactly what product you want to build - what's it's audience, it's purpose, what are your requirements around security, availability, etc, what kind of information is it going to process, how is this information gathered and retrieved - and then look at what skills you have access to, or could acquire easily. That will determine what technology stack would work for you. I'm sure folks on Slack will be happy to help with that once it's clearer what you're trying to achieve.
If you don't want to put details of your product design on Stack, get advice from someone offline.
In terms of cloud hosting, for a small-scale project they're probably all going to be just fine, but the technology stack you choose would help determine which might work best.

Learning Netsuite

I am starting to learn Netsuite, since that is required for our New project.
I am completely new to it. Currently I am working on PHP.
As suggested by my manager I created the developer account on it. But I have no Idea about It. So if someone can spare to answer my below questions than I will be very greatful.
Do i need to learn JavaScript for that?
Is here any other technology that will be needed ?
Are there any free webresources that can give me the insight on this?
How long will it take to learn netsuite once My javascript is done?
Thanks in advance.
Glad
Yes you'll need Javascript. The entire API of NetSuite is written in Javascript. If you get the basics of if statements, for loops and understand how objects and functions work, its a pretty good foundation to start with.
That really depends on what you want to achieve. NetSuite's API will allow you to integrate to other platforms, APIs etc using a range of different things. This one is more a "what do you want" type question.
The UserGroup for NetSuite is a good place to start. That is free. The documentation help has examples which will get you started. I'd start small and then go from there. Ie. How do I get a field value? Read, Develop, Test. Then move on to "How do I set a value" Read, Develop, Test etc etc. You'll learn more and you'll be a better developer for it.
I've been coding in NetSuite for over 7 years for a range of clients. Fair to say you never "learn" NetSuite. It continues to evolve and you evolve with it.
Hope this helps.
Welcome to Netsuite family !! You may want to explore some basic about Netsuite. I would recommend to explore the NS help center as you gotten with a DEV account. Start with simple things and then move on to advance i.e APIs and integration level.
Responding to your quires :
(1) Do i need to learn JavaScript for that?
As you have mentioned you're coding ground is PHP, I guess you already have minimum expose to javascript and some functional programming. You dont need to be an expert to startup with. If you're completely noob to coding then you may want to explore some baics here to start with javascript.
(2) Is here any other technology that will be needed ?
I would say it much depends on your business needs. Netsuite supports both Rest & SOAP based access. For Rest access you need to know javascript as the API's are completely build upon on Suitescripts (NS dependent javascript) and for SOAP based access you can use either JAVA,.NET or PHP.
(3) Are there any free webresources that can give me the insight on this?
The very obvious place is the NS help center where you can explore more in details.You also may request for a membership in NS user group here.
(4) How long will it take to learn netsuite once My javascript is done?
Netsuite is not only limited to javascript or any specific programming. There are alot of things you need to lean apart from javascript. Remeber Learning never exhausts the mind !! ;)
Cheers!
Happy Learning.. :)
Yes you need only basic information about javascript. We are using here suitescript language. you are already familier with programming so it will not be difficult for you.
For integration purpose you may be need.
May be.
It will take hardly 1 month. First you learn manual , later you start coding. It will helpful for you.
Here are the answers to your fairly vague questions:
Yes
Yes
Probably
1 month - 10 years
Should you require more granular answers please provide me with further details.

Intranet planning / what do i need

Ok so ive been tasked with doing "research" on building an intranet for a potential new client for my company and they want some kind of answer by Monday (like any company, they REALLY want this project).
That said, ive been doing "Reasearch" and have so many tabs/windows open that im going nuts and getting lost since my research doesn't have direction...taking in too much and need assistance.
i have 2 questions after a brief explanation.
Essentially, From my understanding, an Intranet is...well in plain
terms, a website that is offline? has a deeper framework because of
the documents that will be available(i think its for a school)and the
ppl who can access them but can also have access to the internet?
Since its for a school(not sure if its mainly for teachers or teachers
and students ) im assuming alot of documents either way.
aside form being private, throughout my research, ive read alot about file security, firewalls, and...and.. im starting to get overwhelmed.
Me myself, am a web designer/so-so developer. decent knowledge of js/jquery and php/mysql though i feel like im just getting started in the web-developer part. Good knowledge of standards HTML/css, designer tools etc...
That said, these are my questions.
1.What is actually involved in planning to create this? What tools( read CMS if possible ) can i use to create any of this. Like to make this happen what do i actually need, and need to know? what direction should i take. If you can direct me and help me close some of these 30+ links spread across my 3 monitors id owe ya lol.
i can build many things and dont mind giving it a HARD go but, this seems like a HUGE project and, im SURE that if my company takes this job, id be put on it. now i can do some of the parts of this project but not 100% sure im the right person for this. Theyre counting on me for a yes/no answer as to whether i can do it (they know its big and itll take time to accomplish) but so...with my skills posted above, am i the right person to do this? or is this more akin to an ACTUAL tried and true developer?
Thank you for your time and, any tips/links/cms info/ i mean ANYTHING that would make this easier PLEASE dont hesitate to share. i dont mind doing the research but i need direction.
i dont want to tell them "YES i can do it" and in a month or two im on pause stuck and the yes turns into a "no i cant do it"
If you have no experience in setting up networks, then you are probably not the man for the job (unless your client is willing to let you have a shot at it for the experience, on a no-win, no-fee basis). Certainly do not over-promise and under-deliver!
I deal with quite a lot of schools, and I know many of the smaller ones will use the secretary's computer as a server, with a simple Windows home network to place files in a shared directory. Its a cheap and cheerful alternative, within their own skillsets to manage.
You should also check with the govermental department with relevant oversight (Dept. of Education, I'd imagine) to see what guidlines, requirements, and grants, are available or required. There may be a specific recommended route to take here, with made to measure firewall protection provided to you.
Larger schools will have invested in proper servers, with automatic external backups in place. I'm not qualified to give advice on how to set those up however. Hopefully someone else here will :)
Best of luck!
CMS may be included as a Intranet website, but Intranet includes much more than CMS. Your best stragetic is tell your boss find a network system integrator to do this project collaboratively. Intranet involves more networking technology (L2, L3, switching, routing, firewall, wireless, etc etc) and physical instrument (ex. cabling).

Development Platform for Small application

I will soon be developing an application to log and priorities worker shifts. It only needs to be small, and simple, but I am wondering what framework to use. All that needs to happen is boxes with names are in 3 lists, and the user can switch these around at will. It must log the times, which I will need access to in real time.
Im new to application development of this sort, and would like any suggestions. I have time to learn new technologies / languages.
Portability / device independence would also be useful. Should I consider a Web Application in Javascript? or something more like Python.
Thanks.
Even if your application is going to be simple that does not mean that whole system will be simple too. I can imagine that your app will serve only as a front end to something much bigger. If that is a case and you really have freedom to choose what language you will develop your app with consider choosing something that you will feel comfortable to work with. But before you will make your decision I would go to whoever gave you that task and try to get as much information about it as you can because expected features can help in choosing technology.
First of all, it seems that it is up to you to decide if it should be web or desktop app. In my opinion it is completely wrong situation. You should get clear requirements on what kind of application customer expects and in what environment it should work. And I would not move a finger towards a code before somebody gave me that information. You write that portability and device independence would be useful but is it actual requirement or you just think it would be nice feature to deliver?
EDITED (to answer a question in comment)
Probably there is as much possible solutions as people that would answer you so in the end you will have to make your own choices.
One way of doing it (considering that you want to learn something new and have a challenge :) would be implement WCF service that would act as a data provider from your database (so every GetUsers(), GetVacationDays() methods would be in it) and it would take care of some business logic (for example CalculateMaxValidWorkingTime() or whatever). That service would be a real power horse of your system. Since you don't have clear requirement whether it should be desktop or web app you could satisfy both possibilities by creating thin clients that would communicate with your service and they would be just a pretty front ends. And if you keep in mind that you can consume webservices practically with everything from C++ to .NET (C#/VB) to Javascript to Python to PHP after you done with service you would not be constrained with one particular technology/language.
Regarding databases I won't advice because personally I hate dealing with them and it always was somebody else's task to provide me with pretty API :)

Resources